ansible
被管理节点开启ssh服务,且python版本在2.4以上
管理节点可以免密登录到被管理节点
加密:ansible-vault encrypt temp.yaml 解密:ansible-vault decrypt temp.yaml ansible vault通过AES-256加密算法对文件进行加密
ansible -i host.txt redis -m shell -a 'echo $HOME' 常用命令:ping debug shell yum user copy template service file firewalld 并发: 通过-f指定 只执行部分功能:ansible-playbook -i hosts site.yml -t start_aks 执行所有任务 -t all 执行所有没有标签的任务 -t untagged 服务器组变量: 放在group_vars目录下,以《grou》同名的文件中 所有组都生效的变量放在group_vars/all文件中 需要用户在执行playbook时输入变量的值: vars_prompt lookup可以将宿主机文件中的内容读取到变量中;也可以读取template变量替换后的文件 过滤器是ansible使用的jinja2的内置功能 创建role所需要的完整目录:ansible-galaxy init example_role example_role ├── defaults │ └── main.yml #默认变量,优先级最低 ├── files ├── handlers │ └── main.yml ├── meta │ └── main.yml #所依赖的role ├── README.md ├── tasks │ └── main.yml ├── templates ├── tests │ ├── inventory │ └── test.yml └── vars └── main.yml 通过inclue 和 include_vars 来引入role中非main.yml其他文件中包含的任务和vars
1、在控制节点上执行:cat /etc/ansible/hosts,查看受控主机清单
2、执行shell命令:
ansible swarm -m shell -a "cd /export/home/spider/aves_spider_logs/;find . -maxdepth 1 -type d -mtime +12 |xargs -n 1 rm -rf "
3、执行定时任务:可以到每个节点上执行crontab -l进去确认
ansible swarm -m cron -a 'name="ban IP of login" minute=*/1 hour=* day=* month=* weekday=* job="cd /export/home/spider/aves_spider_logs/;find . -maxdepth 1 -type d -mtime +11"'
4、 删除定时任务:
ansible swarm -m cron -a 'name="ban IP of login" state=absent'