rsync定时加脚本实现本地到阿里的ftp文件同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync定时加脚本实现本地到阿里的ftp文件同步相关的知识,希望对你有一定的参考价值。
现在需要实现西安ftp到阿里服务器的备份
1.西安为B,阿里为A
2.阿里里面的rsync是已经安装好的,查看了是依赖gti安装的,虽然版本不一样但是不影响使用
3.在A里新建rsync配置文件
4.建连接使用的用户密码
5.到B端进行手动同步实验
6.手动没问题之后进行脚本制作,然后定时运行
接下来开始操作,进入A端服务器新建rsyncd.conf配置文件
vim /etc/rsyncd.conf
我这里已经建好了
UID = #我直接给的root用户
gie = #我直接给的root组
port= #默认的873接口
address= #默认自己A服务器的地址
use chroot = 3表示连接成功后自动切换目录
max connections = 3最大连接数
pid file = #pid文件存放的位置
lock file = #锁文件存放伪装
log file = #日志文件存放位置
downloads #(模块名)这里比较重要,rsync客户机同步的时候服务器的目录直接填模块名,填目录会报错
patch = #服务器备份文件的位置
read only = #是允许别的客户端向本机的服务器端上传
list = #允许列表
hosts allow = #允许的主机 (可以是IP也可以是IP段,加,号隔开)
hosts deny = #不允许的主机
auth users = # 备份连接使用的账户
secrets file = # 备份连接使用的账户密码(这里直接新建个文件即可)如下图
这里我们A端服务器就配置完成了
需要注意的1.是可以把ftp-xa去掉,这样就都同步到uploads里面反正我们同步的文件夹带各自的名字
2.允许的主机后面需要添加,要么就直接改成0.0.0.0/24 ,允许所有主机
3.用户名密码我已经做好,可以不用重新弄了,你B端的本地密码建好就行(密码必须跟服务器账户的密码相同),位置随便,我这里的位置是服务器账户密码存放的位置。
接下来到B端西安
先安装rsync,我直接用的yum安装的,安装完成之后测试备份即可如图
rsync -aczp(这里可以看命令介绍,我这里选择的a:归档模式,c:对文件进行效验,z:对备份的文件传输时进行压缩处理,P:保持文件权限)
这个-aczp可以根据喜好来更换
这里手动进行同步,提示输入密码说明连接正常,输入密码之后就会进行传输显示。
为了方便我这里是这个思路进行的
1.先建个脚本
2.每天定时运行脚本
OK,接下来是脚本的运行和定时同步
直接vim /root/rsync.sh
rsync -avrP --progress --password-file=/usr/rsync.pwd /root/ftp/* [email protected]::downloads
#rsync 后面加输出模式,--progress:显示传输过程 --passwd 后面是保存密码的位置,password-file=/usr/rsync.pwd(看图就明白了)
因为正常手动同步会提示输入密码,这里直接加--passwd 让它自动填写密码,就可以不用手动输入密码了,后面是需要备份的目录,然后跟着备份到服务器的用户名和地址 后面是模块名,在服务器的配置里面模块名下面是服务器的文件配置,这么运行会自动备份到
脚本完成了,可以直接运行脚本试试效果,要是没问题的话我们进行定时运行脚本
直接crontab -e
会进入编辑模式
00 3 * * * /root/rsync.sh
我这里写的每天3点钟运行sh脚本
以上是关于rsync定时加脚本实现本地到阿里的ftp文件同步的主要内容,如果未能解决你的问题,请参考以下文章