rsyncはディレクトリの同期をローカルマシン内もしくはリモートマシン間で行うためのコマンドです。なお、名前のよく似た、メモリ内のキャッシュをディスクに強制的に書き出させるsyncコマンドとは関係ありません。
チートシート
ディレクトリ内のファイルのコピー
$ rsync -av sourcedir/ destdir/
(or $ rsync --archive --verbose sourcedir/ destdir/)
ディレクトリ全体のコピー
スラッシュがない ('sourcedir/' ではなく 'sourcedir') 場合はディレクトリそのものがコピーされます。
$ rsync -av sourcedir destdir/
コピーではなく同期
コピー元にないファイルがコピー先にあれば削除されます。完全同期です。
$ rsync -av --delete sourcedir/ destdir/
特定のファイルをコピーまたは同期対象から除外
ログファイルなどを除外して同期したい場合には '--exclude' オプションを利用します。
$ rsync -av --exclude 'log.bk' sourcedir/ destdir/
SSHでリモートマシンのディレクトリにコピー
$ rsync -av sourcedir/ username@example.com:/path/to/destdir/
空ディレクトリを無視 -m
しつつ、特定のファイルのみをコピー
rsync -avm --include='*/' --include '*.txt' --include '*.tar.gz' --exclude '*' vagrant:/data/db .
ポート番号の変更
-e 'ssh -p 12345'
複数ファイルを指定
クォーテーションで囲うことで複数ファイルを指定できます。
rsync -av "username@example.com: /tmp/file1.txt /tmp/file2.txt" .
大きなファイルを転送する場合
途中で通信が切れた場合に再開できます。-n
で dry-run できます。
rsync -avPzh /tmp/myhugefile.tar.gz remote:/data/
-P
再開可能なように--partial
しつつプログレスを表示--progress
-z
圧縮-h
人間に見やすい形式で表示
0
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- 使い所が難しいマイナーな運用コマンドコマンドのエイリアスを登録する (update-alternatives) mybin という名前のコマンドを登録 sudo update-alternatives --install /usr/local/bin/mybin mybin /usr/bin/echo 10 sudo update-alternatives --install /usr/local/bin/mybin mybin /...
- ipコマンドの基本的な使い方ネットワーク関連のコマンドはたくさんあります。しかしながら、その一部は ip コマンドに集約できます。 基本形 ("man ip" より抜粋) $ ip OBJECT COMMAND OBJECT: link, neigh, addr, route (等) COMMAND: show, add, delete (等) データリンク層のネットワークデバイス情報 (ifconfigコマンドの代用) M...
- プロセス関連のコマンドプロセスID関連 (ps, pgrep, pkill) 全プロセスを表示するためには $ ps ax とすればよく、その表示を見やすくするためには "u" と "w" を追加して $ ps auxw とすればよいです。表示件数自体は同じです。そのうち特定のコマンドのプロセスIDだけを表示したい場合は $ ps ax | grep 'my_script' | grep -v grep | awk '...
- rpmとyumのチートシートrpm (RedHat Package Manager または RPM Package Manager) はRedHat系のパッケージ管理ツールで、yum (Yellowdog Updater Modified) は内部的にrpmを実行するメタパッケージ管理ツールです。rpmには柔軟性がありyumには利便性があります。 rpmは "rpmパッケージファイル" があれば何でもインストールできますが、...
- メモリおよびディスクリソースを調査するために便利なコマンドおよび周辺知識メモリ使用量を表示 (free) 既定ではキロバイト単位で表示されます。オプション "-b", "-k", "-m", "-g" を付与して実行するとそれぞれバイト、キロ、メガ、ギガで表示されます。 $ free total used free shared buffers cached Mem: 510824 ...