远程免密码增量同步资源
一:免密码
有两台机器A和B,想在机器A上远程B,而不需要密码。步骤如下
1:生成公钥文件
在机器A上执行ssh-keygen -t rsa 然后一直回车即可。会在~/.ssh目录下生成id_rsa和id_rsa.pub文件。
2:拷贝公钥文件到机器B
将id_rsa.pub文件拷贝到机器B上的~/.ssh目录下(目录没有就创建),重命名为authorized_keys,
如果已有这个文件则需要在这个文件后面将id_rsa.pub的内容追加进来。
保证authorized_keys的权限是644, chmod 644 authorized_keys
将id_rsa.pub文件拷贝到机器B上的~/.ssh目录下(目录没有就创建)远程拷贝,
在机器A上执行
scp ~/.ssh/id_rsa.pub username@B_IP:~/.ssh/id_rsa.pub
然后到机器B上执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
就大功告成了。
二:rsync增量同步
在机器A上执行以下命令,就达到了增量同步的目的。
rsync -avz --exclude=zz /src_test/ username@B_IP:/dest_test/
其中/src_test/是机器A上的源目录, /dest_test/是机器B上的目的目录
--exclude=PATTERN 指定排除不需要传输的文件模式,上述例子是排除目录名或文件名为zz的资源。
当然*号匹配所有的,假如想排除扩展名为.log文件的话,--exclude=*.log 即可。--exclude可以同时用多个。
注:一和二中的B_IP是机器B的IP