rsync+ssh同步备份文件

定期对web代码或重要的文件做同步异地服务器备份,防止服务器故障严重磁盘损坏时文件丢失的问题。


备份服务器:192.168.200.134

目标服务器:192.168.201.65


rsync同步命令:

rsync -avz -e 'ssh -p <ssh端口,默认是22>' <本地待备份目录> 192.168.200.134:<目标目录>


会提示需要输入远端服务器登陆账号的密码才可以执行下去,为了免密码输入而可以定期自动让其运行,需要配置ssh免密登陆方式;


备份服务器本地执行 ssh-keygen -t rsa 命令,生成ssh rsa私钥 id_rsa  和公钥id_rsa.pub


然后copy id_rsa.pub到目标服务器账号home目录下得.ssh目录,如果没有请创建.ssh目录;


然后在目标机账号home目录下得.ssh目录,执行 

 cat id_rsa.pub > authorized_keys

 chmod 600 authorized_keys

完成操作后,在备份服务器192.168.201.65上尝试执行ssh 登陆操作看是否不再需要密码即可登陆:

ssh -p <ssh端口,默认22> 192.168.200.134

:?:如果不需要提示输入密码即可登陆到134服务器,则表示完成ssh免密码登陆功能。


然后在65服务器上执行rsync同步文件命令也不再需要提示输入密码即可同步完毕。


最后,我们再添加crontab定时任务,让rsync同步备份文件操作每天23点执行一次备份:


crontab -e

在最后面添加一行定时任务设置:


0 23 * * * rsync -avz -e 'ssh -p <ssh端口,默认是22>' <本地待备份目录> 192.168.200.134:<目标目录> > /dev/null 2>&1









你可能感兴趣的:(ssh,rsync)