ssh経由でrsyncを利用する際に、ssh鍵認証かつsshポート22以外に接続する方法。


rsync -avz -e "ssh -p SSHポート番号 -i SSH秘密鍵ファイルパス"  送信元  username@hostname:~/dest/

例)
rsync -avz -e "ssh -p 2345 -i /c/sshkey/id_rsa"  /c/develop/src/ hoge@192.168.1.10:~/dest/

ついでに、rsyncの--deleteテスト時など、いきなり動作させるには怖い場合にはにはdry-runで事前にテスト。


-n, --dry-run   perform a trial run with no changes made
--delete        delete extraneous files from destination dirs

例)
rsync -avz --delete --dry-run -e "ssh -p 2345 -i /c/sshkey/id_rsa"  /c/develop/src/ hoge@192.168.1.10:~/dest/

rsync -avzn -e "ssh -p 2345 -i /c/sshkey/id_rsa"  /c/develop/src/ hoge@192.168.1.10:~/dest/

すぐ忘れるのでメモ。