rsyncオプション

  • 163
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

とりあえずrsync

リモートサーバーからローカルサーバーにコピー

対象ファイルの確認

rsync -ahvn username@hostname:/var/www/html/* /var/www/html/ --max-size=10M

-a を指定することでなるべくコピー元のファイルと同一条件でコピーする。
-h でファイルサイズの視認性をよくする。
-v で詳細を出力する。
-n または --dry-run で対象ファイルを確認する。
--max-size で転送対象のファイルサイズの上限を指定できる。

ファイルの転送状況の表示

rsync -ahv --progress username@hostname:/var/www/html/* /var/www/html/
html/huge/file.zip
      37.36M   1%    8.77MB/s    0:03:39

--progress を指定するとファイル単位で転送状況が表示される。

rsync で ssh のポートを指定する方法

rsync -e "ssh -p 22222"

または

rsync --rsh="ssh -p 22222"

rsyncのオプション

オプション 別名 意味
-a --archive -rlptgoD と同じ
-r --recursive 指定ディレクトリ配下をすべて対象とする
-l --links シンボリックリンクをそのままシンボリックリンクとしてコピー
-p --perms パーミッションをそのままコピー
-t --times タイムスタンプをそのままコピー
-g --group グループをそのままコピー
-o --owner ファイル所有者をそのままコピー (root のみ有効)
-D --devices --specials と同じ
--devices ブロックデバイスをコピー (root のみ有効)
--specials 名前付きパイプや FIFO などの特殊ファイルをコピー
-H --hard-links ハードリンクをそのまま反映
-h --human-readable ファイルサイズのbytesKMで出力
-v --verbose コピーしたファイル名やバイト数などの転送情報を出力
-z --compress データ転送時に圧縮
--compress-level=NUM NUMがゼロでない場合 --compress オプションが暗黙的に指定される
--skip-compress=LIST
-c --checksum タイムスタンプとファイルサイズではなくチェックサムで差分を確認
-u --update 転送先に既にファイルが存在し、転送先のタイムスタンプの方が新しい場合は転送しない
-n --dry-run コピーや転送を実際には行わず転送内容のみ出力
--delete 転送元に存在しないファイルは削除
--exclude=PATTERN 同期から除外