cron
crontab 计划任务
参数介绍:
name 计划任务注释,多次操作同名任务,只会修改,而不会新加
时间参数:
minute hour day month weekday
special_time : @reboot @yearly @monthly @weekly @daily @hourly (每xxx执行)
user 添加到指定用户计划任务中
job 计划任务执行命令
state 当值为absent时,指删除任务. 只需指定 name.
disabled 注释任务,若任务信息和之前不一致,会同时修改任务
backup 先备份再操作, 备份文件位于 /tmp/crontabxxxx
ansible localhost -m cron -a "name='test cron module' user=zyh special_time=hourly job='ls /home/zyh > /home/zyh/cron.log 2>&1'"
ansible localhost -m cron -a "name='test cron module' state=absent"
service
调用远程系统自身的服务管理模块,例如 centos6 的 service ,或者 centos7 的 systemctl
参数介绍:
name 服务名
state 执行动作 started, stopped, restarted, reloaded
enabled 开机自启动
user
用户管理
常用参数介绍:
name 用户名
group 用户组 groups 用户附加组
- append 额外附加用户附加组
shell 指定默认shell,比如/usr/sbin/nologin
state 值为 absent 表示删除用户,值为 present 表示用户必须存在
- remove 删除用户时,同时删除用户家目录
password 用户密码。(需要传递加密密码,不能是明文密码)
import crypt: passwd= print(crypt.crypt(passwd))
generate_ssh_key 相当于远程执行 ssh-keygen 命令(不加任何参数,一路回车)。若已经存在~/.ssh/{id_rsa, id_rsa.pub}, 则不执行
- ssh_key_file 自定义私钥名和私钥存放路径, 公钥也会在自定义路径下生成
group
管理用户组
参数介绍:
name 组名
state 组状态, 值为 absent 指删除(组本身并非用户主要组)
setup
获取机器信息
参数介绍:
gather_subset 获取某个子集(all, min, hardware, network, virtual, ohai, facter)
filter 获取某个集合的某个key
fact_path 自定义信息存放目录
# setup 默认会搜索目标主机/etc/ansible/facts.d 下的自定义信息,例如 family.ini
[family]
father=Zhangsan
son=Zhangxiaosan