实现功能:远程服务器之间的互相自动备份
rsync备份的优点绝大多数运维人员都清楚,简而言之就是只备份改动过的文件,减少数据传输量。同时它可以通过ssh协议传输数据,以利数据安全。
但ssh有个缺点,只能交互式输入密码,这样备份程序无法写入crontab中,只能手工执行,无法自动批处理。
而sshpass正好可以解密此缺点,让我们具体来看:
下载地址:
解压后 ./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=目录名,实际测试时发现目录名不能为绝对地址