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

2019-04-27  本文已影响0人  MineG

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"
上一篇 下一篇

猜你喜欢

热点阅读