Help us understand the problem. What is going on with this article?

rsyncオプション

More than 5 years have passed since last update.

とりあえず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 同期から除外
bezeklik
サーバー管理、CMS構築のお仕事募集中。 CentOS / Apache / Nginx / PHP / MySQL / Docker / CMS (eZ Platform, eZ Publish, WordPress, Drupal) / Redmine
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away