こんにちは。
踏み台を経由して rsync でデータ同期する方法を、自分用の備忘録として残しておきます。
↓ 前提として同期先、及び、踏み台に root ユーザで接続できる必要があります。
# SSH 接続設定 vi ~/.ssh/config ============================================================ # 踏み台サーバ Host mng-bastion01 # IP アドレス ( 踏み台サーバ ) HostName 111.111.111.111 # 接続ユーザ ( 踏み台サーバ ) User root # 秘密鍵 ( 踏み台サーバ ) IdentityFile ~/.ssh/root_secretkey # ステージングサーバ Host stg-web01 ProxyCommand ssh -W %h:%p mng-bastion01 # IP アドレス ( ステージングサーバ ) HostName 222.222.222.222 # 接続ユーザ ( ステージングサーバ ) User root # 秘密鍵 ( ステージングサーバ ) IdentityFile ~/.ssh/root_secretkey # 本番サーバ Host prod-web01 ProxyCommand ssh -W %h:%p mng-bastion01 # IP アドレス ( 本番サーバ ) HostName 333.333.333.333 # 接続ユーザ ( 本番サーバ ) User root # 秘密鍵 ( 本番サーバ ) IdentityFile ~/.ssh/root_secretkey ============================================================ # パーミッションを調整 chmod 600 ~/.ssh/config # 接続確認 ssh mng-bastion01 ssh stg-web01 ssh prod-web01 # /path/to/sync_dir を同期先の /path/to/ 配下に同期 ( ドライラン ) rsync -avzn --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' /path/to/sync_dir stg-web01:/path/to/ rsync -avzn --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' /path/to/sync_dir prod-web01:/path/to/ # /path/to/sync_dir を同期先の /path/to/ 配下に同期 rsync -avz --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' /path/to/sync_dir stg-web01:/path/to/ rsync -avz --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' /path/to/sync_dir prod-web01:/path/to/ # 同期元の /path/to/sync_dir を /path/to/ 配下に同期 ( ドライラン ) rsync -avzn --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' stg-web01:/path/to/sync_dir /path/to/ rsync -avzn --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' prod-web01:/path/to/sync_dir /path/to/ # 同期元の /path/to/sync_dir を/path/to/ 配下に同期 rsync -avz --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' stg-web01:/path/to/sync_dir /path/to/ rsync -avz --bwlimit=6400 -e 'ssh -i ~/.ssh/root_secretkey' prod-web01:/path/to/sync_dir /path/to/