Linux/コマンドメモ/rsync
提供: 初心者エンジニアの簡易メモ
サーバ間ファイルコピーコマンドの使い方
目次
dirコピー
rsync -avz ~/dir1/ ~/dircopy/
サーバ間コピー(ssh
rsync -avz ~/dir1/ user1@example.com:/home/user/dircopy/
指定ファイルを除いてコピー
rsync -avz --exclude '*.swp' --exclude '*.tmp' ~/dir1/ ~/dircopy/
指定ファイルを除いてコピー(別ファイル指定
rsync -avz --exclude-from=/path/to/exclude ~/dir1/ ~/dircopy/
- /path/to/exclude
.svn *.swp *.tmp /tests/
指定ファイルを含めてコピー(別ファイル指定
rsync -avz --include-from=/path/to/include ~/dir1/ ~/dircopy/
- /path/to/include
/application/modules/ap1/views/tmeplates /application/modules/ap2/views/tmeplates
削除同期(コピー元で削除したものをコピー先で反映)
rsync -avz --delete ~/dir1/ ~/dircopy/
サーバ間の差分出力
rsync --dry-run -avu --delete -e /usr/bin/ssh /var/www/html/project1 server1:/var/www/html
サーバ&ユーザ設定での差分出力
rsync --dry-run -avu --delete -e /usr/bin/ssh /var/www/html/project1 user1@server1:/var/www/html
鍵を追加
rsync -avz -e "ssh -p 22 -i hogehoge.key" ServerData/ user1@server1:/var/www/html
オプション
-a 可能な限り状態保持 -v 可視化 -z 圧縮 -u 更新されたファイルだけ転送します。 --delete 削除同期 --exclude 除外 --dry-run (-n)試験的に実行
rsyncd設定
/etc/rsyncd.conf
例 [logs] path = /var/www/logs read only = no
rsync設定ファイル
/etc/rsyncd.conf