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'

 

posted on 2020-10-26 20:13  我和你并没有不同  阅读(111)  评论(0编辑  收藏  举报