美文网首页
作业-第09周--课堂-Day39-ansible 自动化管理Ⅱ

作业-第09周--课堂-Day39-ansible 自动化管理Ⅱ

作者: MineG | 来源:发表于2019-04-27 16:09 被阅读0次

    Day39 课堂作业

    B:script模块功能说明:

    功能说明:在远程节点上运行本地脚本
    官方链接

    远端可以没有脚本,本地有就行:

    [root@m01 /server/scripts]# cat setup.sh
    pwd
    ls /root
    for n in {1..100}
    do
       echo $n >>/tmp/oldboy.log
    done
    执行:
    ansible oldboy  -m script -a "/server/scripts/setup.sh"
    

    C:copy模块功能说明:

    功能说明:复制文件到远程主机
    官方链接

    ansible oldboy  -m copy -a "src=/server dest=/ mode=ugo+x  group=root owner=root"
    ansible oldboy  -m copy -a "src=/server/scripts/setup dest=/server/scripts mode=ugo+x  group=root owner=root backup=yes"
    

    D:shell模块功能说明:

    功能说明:执行一个命令在远程节点上
    官方链接

    ansible oldboy  -m shell -a "free -m|grep buffer"
    

    远程执行脚本:脚本必须在远端存在

    ansible oldboy  -m shell -a "/bin/bash /server/scripts/setup.sh"
    

    项目实践作业:

    • 1、写好 rsync 一键客户端配置,一键服务端配置。
    • 2、写好 nfs 一键服务端端配置,一键客户端挂载,并且加到自启动文件里(/etc/rc.local,/etc/fstab)。

    步骤:

    1、远端命令行非交互实现

    echo 123456|passwd --stdin oldboy
    

    2、所有步骤放在脚本里实现。

    3、管理机上远程执行。

    ssh /bin/sh /server/scripts/ins.sh
    

    E file模块功能说明:

    功能说明:设置文件属性
    官方链接

    替代方案:

    ansible oldboy  -m command -a "chmod 777 /etc/hosts warn=false"
    ansible oldboy  -m command -a "chmod 644 /etc/hosts warn=false"
    ansible oldboy  -m command -a "chown oldboy /etc/hosts warn=false"
    ansible oldboy  -m command -a "chown root /etc/hosts warn=false"
    

    创建目录:mkdir /tmp/oldboy_dir

    ansible oldboy -m file -a "dest=/tmp/oldboy_dir state=directory"
    

    递归设置权限:

    ansible oldboy -m file -a "dest=/tmp/oldboy_dir state=directory mode=644 recurse=yes"
    

    创建文件:touch /tmp/oldboy_file

    ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch"
    

    删除文件:rm -f /tmp/oldboy_file

    ansible oldboy -m file -a "dest=/tmp/oldboy_file state=absent"
    

    创建链接文件:ln -s /etc/hosts /tmp/link_file

    ansible oldboy -m file -a "src=/etc/hosts dest=/tmp/link_file state=link"
    `
    ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch owner=oldboy group=oldboy mode=000"
    
    ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch owner=oldboy group=oldboy mode=ugo=rwx"
    

    F:yum模块功能说明:

    功能说明:yum包管理模块
    官方链接

    ansible oldboy -m yum -a "name=nginx state=installed"
    
    [root@nfs01 oldboy_dir]# rpm -qa nginx
    nginx-1.10.2-1.el6.x86_64
    

    注意:不要用yum卸载,用rpm -e卸载。

    G:service模块功能说明:

    功能说明:启动停止服务
    官方链接

    相当于

    service crond stop|/etc/init.d/crond stop
    chkconfig crond off
    ansible oldboy -m service -a "name=crond state=stop enabled=no"
    

    相当于

    etc/init.d/crond start
    chkconfig crond on
    ansible oldboy -m service -a "name=crond state=started enabled=yes"
    
    ansible oldboy -m command -a "name=crond state=started enabled=yes"
    

    H: cron模块功能说明:

    功能说明:管理定时任务条目信息模块
    官方链接

    定时任务格式:

    * * * * * CMD
    
    --------------------------------------------------------------
    ==>创建定时任务<==
    --------------------------------------------------------------
    ansible oldboy -m cron -a "name='sync time' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'"
    
    --------------------------------------------------------------
    ==>结果<==
    --------------------------------------------------------------
    #Ansible: sync time
    00 00 * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
    

    添加如下定时任务:

    05 03 * * * /bin/sh /server/scripts/backup.sh /server/scripts/list >/dev/null 2>&1
    

    命令如下:

    ansible oldboy -m cron -a "name='backup data' minute=05 hour=03 job='/bin/sh /server/scripts/backup.sh /server/scripts/list >/dev/null 2>&1'"
    

    结果:

    #Ansible: backup data
    05 03 * * * /bin/sh /server/scripts/backup.sh /server/scripts/list >/dev/null 2>&1
    

    删除定时任务:

    ansible oldboy -m cron -a "name='backup data' state=absent"
    

    注释相应定时任务,使定时任务失效

    nsible oldboy -m cron-a "name='ansible cron01' minute=0 hour=0 job='/bin/sh /server/scripts/test.sh' disabled=yes"
    

    相关文章

      网友评论

          本文标题:作业-第09周--课堂-Day39-ansible 自动化管理Ⅱ

          本文链接:https://www.haomeiwen.com/subject/osyknqtx.html