• ansible远程控制


    环境:一台centos7,一台centos6.5

    实验步骤:

    centos7的服务器上:

    .准备工作

    1.关闭selinux ,清空默认防火墙策略,桥接物理网络。

    setenforce 0

    ifconfig

    systemctl restart sshd

    iptables -F

    2.安装远程登陆的依赖关系包。

    yum -y install openssl openssl-devel

    3.安装ansible。(确保有离线的ansible软件包)

    mkdir /yum

    mv /etc/yum.repos.d/* /yum/

    vim /etc/yum.repos.d/yum.repo

    [yum]

    name=yum

    baseurl=file:///root/ansibleRPM

    enabled=1

    gpgcheck=0

     

    cd ansibleRPM/

    rm -rf repodata/

    createrepo /root/ansibleRPM/

    cd

    yum -y install ansible

    4.删除冲突环境python2包

    rpm -qa | grep python

    rpm -e python2-cryptography –nodeps

    5.查看ansible版本,确认安装成功

    ansible --version

    6.修改ansible服务器的配置文件,链接被控服务器

    vim /etc/ansible/hosts

    在最后一行添加:

    [webserver] ——对方服务器名称

    192.168.6.112  ——对方IP地址

    7.设置密钥ssh远程登陆,因为ansible是通过22端口对其他服务器进行控制的,所有必须要进行密钥认证,要不然当执行的时候还的进行密码验证,而密钥链接是不需要验证密码的。

    ssh-keygen

    ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.6.112

    ssh 192.168.6.112

    8.测试是否可以链接被控服务器。

    ansible -m ping 'webserver'

    .正式开始

    注意:与上边的题的编号想对应

    1.设置客户机每天晚上11点重启httpd服务

    ansible webserver -m cron -a 'hour=23 job="/sbin/service httpd restart"'

    2.设置客户机每天凌晨3点清空/tmp目录

    ansible webserver -m cron -a 'hour=3 job="/bin/rm -rf /tmp/*"'

    3.设置客户机创建用户nginx,并且禁止登录系统

    ansible webserver -m user -a 'name=nginx  shell=/sbin/nologin"'

    4. 设置客户机创建账户zhangsan,密码为123.com,加入wheel组

    ansible webserver -m user -a 'name=zhangsan password="$1$7DZX5yEx$7P1Qu9JYTHoxKEVwWBaoF0" groups=wheel'

    5. 删除客户机上的mysql用户

    ansible webserver -m user -a 'name="mysql" state=absent'

    6. 为客户机创建邮件组postfix,gid为1500

    ansible webserver -m group -a 'name=postfix gid=1500'

    7. 将zhangsan加入邮件组

    ansible webserver -m user -a 'name=zhangsan group=postfix'

    8. 将客户机/etc/yum.repos.d/下的所有移动到客户机的/root目录下 shell模块实现

    ansible webserver -m shell -a 'mv /etc/yum.repos.d/* /root/'

    9. 将ansible主机上的docker.repo(自行创建)复制到客户机的/etc/yum.repos.d目录下

    ansible webserver -m copy -a 'src=/etc/yum.repos.d/yum.repo dest=/etc/yum.repos.d/ mode=0750 owner=root group=root'

    10. 修改客户机/root/install.log的权限为777

    ansible webserver -m file -a 'path=/root/install.log mode=777'

    11. 设置客户机/etc/httpd/conf/httpd.conf软连接到/root/目录下

    ansible webserver -m file -a 'path=/root/xx.txt src=/etc/httpd/conf/httpd.conf state=link'

    12. 设置客户机的httpd服务随系统启动,且开启

    ansible webserver -m service  -a 'enabled=true name=httpd state=started'

    13. 编写一个打包/var/logs目录的shell脚本,然后为客户机执行它。

    vim haha.sh

    添加;

    #!/bin/bash

    tar zcf /root/rizhi.tar.gz /var/log

     

    ansible webserver -m script -a '/root/haha.sh'

    14. 重定向客户机磁盘空间占用量到ansible机器的/root/disk.log文件内

    ansible webserver -a 'df -hT' > /root/disk.log

    cat disk.log

  • 相关阅读:
    Runloop运行循环的理解
    GCD dispatch_apply基本使用
    GCD信号量semaphore控制线程并发数
    多线程GCD dispatch_once_t/dispatch_barrier_<a>sync/dispatch_group_t
    iOS开发常用宏定义
    OC方法可变参数
    GCD的基本使用
    iOS实用小工具
    项目中实用第三方框架
    NSTimer内存泄漏问题
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8549721.html
Copyright © 2020-2023  润新知