示例:
ssh -i /var/www/id_rsa -o StrictHostKeyChecking=no www@ip172.17.17.1 "if [ ! -d /data/bjceshi/a/beijing/tgjhd/2022/5/ ]; then mkdir -p /data/bjceshi/a/beijing/tgjhd/2022/5/; fi" && rsync -azupt --rsh="ssh -i /var/www/id_rsa -o StrictHostKeyChecking=no" /data/www/cost-dev/app/CreateFile/popularize/ www@172.17.17.1:/data/bjceshi/a/beijing/tgjhd/2022/5/
说明:
1、id_rsa 为调用秘钥
2、StrictHostKeyChecking=no 跳过密码提示
3、/data/www/cost-dev/app/CreateFile/popularize/ 为当前服务器目录
4、/data/bjceshi/a/beijing/tgjhd/2022/5/ 为目标服务器目录
整个命令的意思,判断目标服务器是否存2022/5 目录,如果不存在则创建,然后将当前服务器上的/data/www/cost-dev/app/CreateFile/popularize/文件夹 拷贝到目标服务器/data/bjceshi/a/beijing/tgjhd/2022/5/下面
注意:
1、首先要先创建秘钥
2、确保两台服务器可以正常通讯
3、同步目录的上级目录必须存在,否则同步不成功
4、ip地址不能包含端口号
5、更多rsync参数说明参考:http://www.ruanyifeng.com/blog/2020/08/rsync.html