linux 服务器使用 ansible 工具进行数据搬家

2021-04-08 11:17:57 浏览数 (2)

代码语言: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 文件夹及其内容整体同步复制过去

0 人点赞