远程自动备份 rsync+ssh+sshpass

实现功能:远程服务器之间的互相自动备份

rsync备份的优点绝大多数运维人员都清楚,简而言之就是只备份改动过的文件,减少数据传输量。同时它可以通过ssh协议传输数据,以利数据安全。

但ssh有个缺点,只能交互式输入密码,这样备份程序无法写入crontab中,只能手工执行,无法自动批处理。

而sshpass正好可以解密此缺点,让我们具体来看:

下载地址:http://sourceforge.net/projects/sshpass/files/

解压后 ./configure;  make;  make install完成安装

使用:

sshpass -p 'password' rsync -av -e ssh localdir username@remoteaddr:/remotedir  或

sshpass -f password.file rsync -av -e ssh localdir username@remoteaddr:/remotedir


其中:password 远程服务器密码

            password.file 内容为密码的文件


            localdir 本地要备份的目录

            username 远程服务器用户名

            remoteaddr 远程服务器IP或远程服务器域名

            remotedir 远程服务器路径

ps:

rsync 排除目录的语法是 --explode=目录名,实际测试时发现目录名不能为绝对地址

ssh

相关推荐