Ansible 维运自动化工具,基于ssh操作远端服务器。
Ansible ,此名取自 Ansible 作者最喜爱的《安德的游戏》小说,而这部小说更被后人改编成电影 -《战争游戏》。
安塞波 (Ansible),它是虚构的超光速通讯装置。片中主角安德 (Ender) 和他的伙伴们透过 Ansible 跨越时空指挥无数的战舰,就好比我们操控海量的远端服务器一样。
安装ansible
用于同步文件、远程执行命令。
# 进入jenkins容器,当前容器是debian,使用apt-get安装
apt-get install ansibel -y
ansibel --version
vim /etc/ansible/ansible.cfg
#把下面的配置打开,即去掉#号注释,保存即可。即不用每次连接新机器时提示保存host了
#host_key_checking = False
# 把目标机器的私钥保存到以下位置(找运维提供)
vim /etc/ansible/oponly_id_rsa
# 清空ansible host
:>/etc/ansible/hosts
# 添加组及ip到/etc/ansible/hosts,示例如下(组下可添加多个ip,每个ip一行,对组操作时会遍历所有ip):
# [demo-group]
# 127.0.0.1 ansible_ssh_port=22 ansible_ssh_user=oponly ansible_ssh_private_key_file=/etc/ansible/oponly_id_rsa become_user=root
# 示例
ansible demo-group -m copy -a "src=/home/a.txt dest=/mnt/ mode=600" -b --become-method sudo --become-user root
ansible demo-group -m shell -a "cd /mnt/;tar -xvf /mnt/targe.tar " -b --become-method sudo --become-user root
## 显示换行符,不适当换行或windows换行符在linux下可能会产生问题,可通过以下方式查看换行符
# vim显示换行符
:set list
# 可以显示换行符
cat -A log.txt
# 可以看到windows换行符显示为^M
vi log.txt
网友评论