代码语言:javascript复制
#----- 首先安装ansible 工具 ------#
参考:腾讯云加社区 或 小绿叶技术博客 文章 :centos ansible shell脚本一键安装-自动化运维
#----- 将远程目的地主机添加分组 ------#
echo "
[eisc]
47.95.216.170
43.255.28.59
" >> /etc/ansible/hosts # 添加被管控主机
ansible all --list # 列出所有主机列表
#----- 将远程目的地主机添加面密登陆 ------#
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@43.255.28.59
#----- 将本地数据同步到远程服务器 ------#
synchronize 主要用于目录、文件的同步,主要基于rsync命令工具同步目录和文
yum install -y rsync # 需要在所有主机上安装同步工具
# 才能进行同步
###### 模块说明,不需要执行
compress 开启压缩,默认为开启
archive 是否采用归档模式同步,保证源文件和目标文件属性一致
checksum 是否校验
dirs 以非递归的方式传送目录
links 同步链接文件
recursive 是否递归yes/no
rsync_opts 使用rsync的参数
copy_links 同步的时候是否复制链接
delete 删除源中没有但目标存在的文件,使两边内容一样,以推送方为主
src 源目录及文件
dest 目的文件及目录
dest_port 目标接收的端口
rsync_path 服务的路径,指定rsync在远程服务器上执行
rsync_remote_user 设置远程用户名
–exclude=.log 忽略同步以.log结尾的文件,这个可以自定义忽略什么格式的文件,或者.txt等等都可以,但是由于这个是rsync命令的参数,所以必须和rsync_opts一起使用,比如rsync_opts=--exclude=.txt这种模式
mode push 同步的模式,rsync同步的方式push、pull,默认是推送push,从本机推送给远程主机,pull表示从远程主机上拿文件
###### 说明结束
#--------------------- 同步命令 案例 -----------------------#
ansible eisc -m synchronize -a "src=/www dest=/"
# ansible 选择eisc 组 ; 也可以将eisc改为目的地服务器 IP ,单独控制指定服务器IP
# -m 指定模块 synchronize 同步模块
# -a 指定内容, src 本地目录。dest同步到目的地
# 注意:是本地的 www 文件夹及其内容整体同步复制过去