使用rsync客户和ssh免密登陆配合可以做到定时备份同步,无需配置rsync服务端,我们来看看rsync如何指定使用ssh服务来进行文件同步的
rsync的-e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了
语法:
rsync -e 'ssh -p $port' $local_path/ $username@$hostname:$target_path
通过rsync可以将本地目录下文件同步到远程服务器的目录下,这里需要注意本地文件目录最后带"/"标识将本地目录下的*,也就是所有文件同步到远程目录下(远程目录结尾不带"/"),如果本地和远程目录结尾带"/",那么就是将本地目录作为一个文件夹同步到远程目录下
使用ssh服务来同步文件可以避免rsync默认873端口弱口令的攻击
常用参数如下
-v 观察模式,输出更多资讯 -q 与 –v 相反,仅显示错误信息 -r 递归复制,针对目录 -u 仅更新较新的文件 -l 复制连接的属性 -p 复制时保持属性不变 -g 保存原有群组 -o 保存原有拥有人 -D 保存原有装置属性 -t 保存原有时间属性 -I 忽略更新时间属性,档案比对较快 -z 加上压缩参数 -e 使用协议通道,例如ssh,-e ssh -a 相对于-rlptgoD,所以-a最常用