温馨提示×

CentOS Stream8脚本自动化

小樊
50
2025-08-26 18:06:57
栏目: 智能运维

CentOS Stream 8 是 CentOS 的一个滚动更新版本,它结合了 Red Hat Enterprise Linux (RHEL) 的稳定性和 CentOS 的开源特性。在 CentOS Stream 8 中实现脚本自动化可以通过多种方式,例如使用 Shell 脚本、Ansible、Puppet、Chef 或 SaltStack 等工具。

以下是一个简单的示例,展示如何使用 Shell 脚本在 CentOS Stream 8 上实现自动化任务:

  1. 创建一个 Shell 脚本文件: 首先,你需要创建一个 Shell 脚本文件。例如,创建一个名为 setup.sh 的文件:

    nano setup.sh
    
  2. 编写脚本内容: 在 setup.sh 文件中编写你想要自动化的任务。例如,更新系统、安装软件包、配置服务等:

    #!/bin/bash
    
    # 更新系统
    sudo dnf update -y
    
    # 安装必要的软件包
    sudo dnf install -y git vim
    
    # 配置防火墙
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
    # 启动并启用 SSH 服务
    sudo systemctl start sshd
    sudo systemctl enable sshd
    
    echo "系统设置完成!"
    
  3. 赋予脚本执行权限: 保存并关闭文件后,赋予脚本执行权限:

    chmod +x setup.sh
    
  4. 运行脚本: 现在你可以运行脚本来执行自动化任务:

    ./setup.sh
    

如果你需要更复杂的自动化管理,可以考虑使用 Ansible、Puppet、Chef 或 SaltStack 等工具。这些工具提供了更强大的功能和更好的可扩展性,适合管理大规模的基础设施。

使用 Ansible 示例

Ansible 是一个流行的自动化工具,可以通过简单的 YAML 配置文件来定义任务。以下是一个简单的 Ansible playbook 示例,用于在 CentOS Stream 8 上执行类似的自动化任务:

  1. 安装 Ansible: 在控制节点上安装 Ansible:

    sudo dnf install -y ansible
    
  2. 创建 Ansible Playbook: 创建一个名为 setup.yml 的文件,并编写以下内容:

    ---
    - name: Setup CentOS Stream 8
      hosts: all
      become: yes
      tasks:
        - name: Update system
          ansible.builtin.yum:
            name: '*'
            state: latest
    
        - name: Install git and vim
          ansible.builtin.yum:
            name:
              - git
              - vim
            state: present
    
        - name: Configure firewall
          ansible.builtin.firewall:
            service: "{{ item }}"
            permanent: yes
            state: enabled
            zone: public
          loop:
            - http
            - https
          notify: Reload firewall
    
        - name: Start and enable SSH service
          ansible.builtin.systemd:
            name: sshd
            state: started
            enabled: yes
    
      handlers:
        - name: Reload firewall
          ansible.builtin.firewall:
            state: reloaded
    
  3. 运行 Ansible Playbook: 在控制节点上运行 Ansible playbook:

    ansible-playbook -i inventory setup.yml
    

其中,inventory 是一个包含目标主机的库存文件。

通过这些方法,你可以在 CentOS Stream 8 上实现脚本自动化,从而提高系统的管理效率和一致性。

0