ansible
ansible 常用操作
cron
Ansible cron模块主要用于添加、删除、更新操作系统的crontab任务计划
cron模块使用详解:
name:任务计划名称
cron_file:替换客户端该用户的任务计划的文件
minute:分(0-59, * ,*/2)
hour:时(0-23, * ,*/2)
day:日(1-31, * ,*/2)
month:月(1-12, * , */2)
weekday:周(0-6或1-7, *)
job:任何计划执行的命令,state要等于present
backup:是否备份之前的任务计划
user:新建任务计划的用户
state:指定任务计划present、absent
创建计划任务
在 ansible-demo3 主机上创建计划任务,任务名称为”crontab test”,任务于每天1点5分执行,任务内容为输出test字符。
ansible ansible-demo3 -m cron -a " name='crontab test' minute=5 hour=1 job='echo test' "
修改定时任务
操作同名的任务时,ansible 将会认为是修改原来的任务,启用了 backup,所以任务在修改前会被备份
ansible ansible-demo3 -m cron -a " name='crontab test' minute=5 hour=2 job='echo test1' backup=yes"
删除计划任务
ansible ansible-demo3 -m cron -a " name='crontab test' state=absent backup=yes "
任务注释掉
ansible ansible-demo3 -m cron -a " name='crontab test' job='echo test1' disabled=yes backup=yes"
copy
ansible test -m copy -a "src=test.sh dest=/root dest=/tmp backup=yes owner=liuhao group=liuhao mode=0644"
file
ansible ansible-demo3 -m file -a "path=/testdir/testfile1 state=touch owner=liuhao group=liuhao"
ansible ansible-demo3 -m file -a "path=/testdir/testdir state=directory owner=liuhao group=liuhao"
删除远程机器上的指定文件或目录。
ansible ansible-demo3 -m file -a "path=/testdir/testdir state=absent"
fetch
复制远程文件到本地
ansible all -m fetch -a "src=/tmp/log/* dest=/tmp/"
service
重启应用
ansible 10.1.1.113 -m service -a 'name=puppet state=restarted enabled=yes'
yum
安装tree
ansible all -m yum -a "state=present name=tree"
安装本地rpm包
ansible all -m yum -a 'name=/root/jdk-7u71-linux-x64.rpm state=installed'
执行本地shell脚本
ansible all -m script -a ‘./test.sh’