云中漫步 发表于 2018-7-29 10:36:31

ansible模块批量管理

  1.模块
  ansible oldboy-m copy -a "src=/etc/hosts dest=/opt/"
  加上backup=yes对客户端的文件进行备份
  ansible oldboy -m copy -a "src=/etc/hostsdest=/opt/ backup=yes"
  2.Shell模块
  用之前需要将脚本先推送到客户端才能执行
  1)推送
  ansible oldboy-m copy -a "src=/server/scripts/yum.sh dest=/server/scripts"
  2)执行脚本
  ansible oldboy-m shell -a "/bin/sh /server/scripts/yum.sh "
  3.script模块
  不用将脚本推送到远端,在本地也可以执行。
  ansible oldboy-m script -a "/bin/sh /server/scripts/oldboy.sh"
  4.service模块
  用于管理服务
  该模块包含如下选项:
  arguments:给命令行提供一些选项
  enabled:是否开机启动 yes|no
  name:必选项,服务名称
  pattern:定义一个模式,如果通过status指令来查看服务的状态时,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务依然在运行
  runlevel:运行级别
  sleep:如果执行了restarted,在则stop和start之间沉睡几秒钟
  state:对当前服务执行启动,停止、重启、重新加载等操作(started,stopped,restarted,reloaded)
  ansible oldboy-m service -a "name=postfix state=started enabled=yes"
  5.file模块
  
  force:需要在两种情况下强制创建软链接,一种是源文件不存在但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no
  group:定义文件/目录的属组
  mode:定义文件/目录的权限
  owner:定义文件/目录的属主
  path:必选项,定义文件/目录的路径
  recurse:递归的设置文件的属性,只对目录有效
  src:要被链接的源文件的路径,只应用于state=link的情况
  dest:被链接到的路径,只应用于state=link的情况
  state:directory:如果目录不存在,创建目录
  file:即使文件不存在,也不会被创建
  link:创建软链接
  hard:创建硬链接
  touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间
  absent:删除目录、文件或者取消链接文件
  #在客户端创建/opt/dir_01的目录,属组和用户组都是oldboy,权限是600
  ansible oldboy-m file -a "dest=/opt/dir_01/ owner=oldboy group=oldboy mode=0600state=directory"
  #在客户端创建/opt/file_01文件,权限为644属组和用户组都是oldboy
  ansible oldboy-m file -a "dest=/opt/file_01 mode=0644 owner=oldboy group=oldboystate=touch"
  #删除/opt/file_01
  ansible oldboy-m file -a "dest=/opt/file_01 state=absent"
  6.cron模块
  用于管理计划任务
  包含如下选项:
  backup:对远程主机上的原任务计划内容修改之前做备份
  cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划
  day:日(1-31,*,*/2,……)
  hour:小时(0-23,*,*/2,……)
  minute:分钟(0-59,*,*/2,……)
  month:月(1-12,*,*/2,……)
  weekday:周(0-7,*,……)
  job:要执行的任务,依赖于state=present
  name:该任务的描述
  special_time:指定什么时候执行,参数:reboot,yearly,annually,monthly,weekly,daily,hourly
  state:确认该任务计划是创建还是删除
  user:以哪个用户的身份执行
  #创建定时任务
  ansible oldboy-m cron -a "name=oldboy14 minute=*/4 job='/bin/sh /server/scripts/77.sh&>/dev/null'"
  #删除定时任务state=absent是删除的意思
  ansible oldboy-m cron -a "name=oldboy14 minute=*/4 job='/bin/sh /server/scripts/77.sh&>/dev/null' state=absent"
  
  
  
页: [1]
查看完整版本: ansible模块批量管理