以下は、一般的に使用される 60 個の rsync コマンドとその説明です。
rsync source_dir destination_dir
: ソース ディレクトリ内のファイルとフォルダーをターゲット ディレクトリに同期します。rsync -a source_dir destination_dir
: ファイルの属性と権限を維持しながら、アーカイブ モードでディレクトリを同期します。rsync -v source_dir destination_dir
: 同期処理の詳細情報を出力します。rsync -r source_dir destination_dir
: ディレクトリとそのサブディレクトリを再帰的に同期します。rsync -z source_dir destination_dir
:圧縮機能を有効にしてデータ送信量を削減します。rsync -c source_dir destination_dir
: チェックサムを比較することにより、ファイルが変更されたかどうかを検出します。rsync --delete source_dir destination_dir
: ソース ディレクトリに存在しない、ターゲット ディレクトリ内のファイルを削除します。rsync --exclude='pattern' source_dir destination_dir
: 指定したパターンに一致するファイルまたはフォルダーを除外します。rsync --exclude-from='file' source_dir destination_dir
: 指定されたファイルから除外パターンを読み取り、同期します。rsync --include='pattern' source_dir destination_dir
: 指定したパターンに一致するファイルまたはフォルダーのみを含めます。rsync --include-from='file' source_dir destination_dir
: 指定されたファイルからインクルード パターンを読み取り、同期します。rsync --progress source_dir destination_dir
: 同期の進行状況と速度情報を表示します。rsync --dry-run source_dir destination_dir
: 同期操作をシミュレートし、発生する変更を表示しますが、実際には実行しません。rsync --bwlimit=KBPS source_dir destination_dir
: 帯域幅の使用量を KB/秒単位で制限します。rsync --size-only source_dir destination_dir
:ファイルサイズのみで同期が必要かどうかを判断します。rsync --checksum source_dir destination_dir
: 完全なチェックサムを強制することにより、同期が必要かどうかを判断します。rsync --delete-excluded source_dir destination_dir
--exclude
:と を併用した--delete
場合、除外ファイルを削除します。rsync --backup source_dir destination_dir
: ターゲット ディレクトリに既に存在するファイルをバックアップします。rsync --backup-dir=DIR source_dir destination_dir
: ターゲット ディレクトリ内の既存のファイルを指定したディレクトリにバックアップします。rsync --link-dest=DIR source_dir destination_dir
: 既存のファイルへのハード リンクを作成して、スペースの使用量を削減します。rsync --ignore-existing source_dir destination_dir
: ターゲット ディレクトリにすでに存在するファイルを無視します。rsync --timeout=TIME source_dir destination_dir
:接続タイムアウトを設定します。rsync --progress --partial source_dir destination_dir
: リアルタイムの進行状況を表示しながら、中断後の再送信を許可します。rsync -n --itemize-changes source_dir destination_dir
: 発生する変更の詳細なリストを表示しますが、実際にはアクションは実行されません。rsync -a --exclude='pattern1' --exclude='pattern2' source_dir destination_dir
:複数のパターンでファイルやフォルダーを除外します。rsync -avzP source_dir remote_server:destination_dir
: ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期します。rsync -a --delete source_dir remote_server:destination_dir
: ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期し、リモート ディレクトリに存在しないファイルを削除します。rsync -a --dry-run --delete source_dir destination_dir
: 同期操作をシミュレートし、ターゲット ディレクトリ内の削除対象のファイルを表示します。rsync -a --exclude-from='file' source_dir remote_server:destination_dir
: 指定されたファイルから除外パターンを読み取り、ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期します。rsync -rltDv source_dir remote_server:destination_dir
: ディレクトリを同期し、ディレクトリ構造と権限を維持しますが、ファイル属性は同期しません。rsync -avz --include='*.txt' --include='*.doc' --exclude='*' source_dir destination_dir
: 指定されたタイプのファイルのみを同期し、他のすべてのファイルを除外します。rsync -a --filter=':- .gitignore' source_dir destination_dir
: .gitignore ファイルで定義されたフィルタリング ルールを使用して同期します。rsync -a --link-dest=DIR --backup-dir=DIR source_dir destination_dir
: 既存のファイルへのハード リンクを作成し、指定したディレクトリにバックアップします。rsync -a --exclude='.git/' source_dir destination_dir
:.git フォルダーとその内容を除外します。rsync -a --max-size='100K' source_dir destination_dir
: 100KB 未満のファイルのみを同期します。rsync -a --min-size='1M' source_dir destination_dir
: 1MB を超えるファイルのみを同期します。rsync -av --bwlimit=500 source_dir destination_dir
: 同期中の帯域幅使用量を 500 KB/秒に制限します。rsync -a --include='*/' --exclude='*' source_dir destination_dir
: フォルダーのみを同期し、ファイルを無視します。rsync -a --prune-empty-dirs source_dir destination_dir
: 空のフォルダーを無視します。rsync -avzP --log-file='log.txt' source_dir destination_dir
: 同期プロセスの情報を指定したログ ファイルに記録します。rsync -a --exclude='*.txt' --delete-excluded source_dir destination_dir
: すべての .txt ファイルを除外し、ターゲット ディレクトリ内の除外されたファイルを削除します。rsync -a --link-dest=DIR --exclude='*.txt' source_dir remote_server:destination_dir
: ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期し、既存のファイルへのハード リンクを作成します。ただし、すべての .txt ファイルは除外されます。rsync -a --include='*.txt' --exclude='*.doc' source_dir remote_server:destination_dir
: .txt ファイルのみを同期し、.doc ファイルを除外し、ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期します。rsync -a --exclude='*.txt' --exclude='exclude_folder/' source_dir remote_server:destination_dir
: すべての .txt ファイルとexclude_folder/
フォルダーを除外し、ソース ディレクトリをリモート サーバー上のターゲット ディレクトリに同期します。rsync -n --exclude-from='exclude.txt' source_dir destination_dir
: 指定されたファイルから除外パターンを読み取り、同期操作をシミュレートしますが、実際には実行しません。rsync -a --exclude='pattern' --delete-excluded source_dir remote_server:destination_dir
: 指定されたパターンに一致するファイルまたはフォルダーを除外し、リモート サーバー上のターゲット ディレクトリ内の除外されたファイルを削除します。rsync -a --ignore-existing --size-only source_dir destination_dir
: ターゲット ディレクトリに既に存在するファイルを無視し、ファイル サイズのみで同期が必要かどうかを判断します。rsync -a --remove-source-files source_dir destination_dir
: 同期後にソース ディレクトリ内の同期ファイルを削除します。rsync -a --filter='P /pattern/' source_dir destination_dir
: 正規表現パターンを含むカスタム フィルタリング ルールを使用して同期します。rsync -a --filter='R /pattern/' source_dir destination_dir
: 拡張正規表現パターンを含むカスタム フィルタリング ルールを使用して同期します。rsync -a --filter='S /from/to/' source_dir destination_dir
: 文字列置換ルールを含むカスタム フィルタリング ルールを使用して同期します。rsync -a --filter='A /from/to/' source_dir destination_dir
: グローバル文字列置換ルールを含むカスタム フィルタリング ルールを使用して同期します。rsync -a --chmod=MODE source_dir destination_dir
: 指定された権限モードに従って、同期後のターゲット ファイルの権限を設定します。rsync -a --chown=USER:GROUP source_dir destination_dir
: 指定したユーザーとグループに従って、同期後のターゲット ファイルの所有者を設定します。rsync -a --exclude='pattern' --exclude-from='file' --delete-excluded source_dir destination_dir
: 複数のパターンでファイルまたはフォルダーを除外し、指定されたファイルから除外パターンを読み取り、対象ディレクトリ内の除外されたファイルを削除します。rsync -a --include='pattern' --include-from='file' --exclude='*' source_dir destination_dir
: 指定されたパターンに一致するファイルまたはフォルダーのみをインクルードし、他のすべてのファイルを除外しながら、指定されたファイルからインクルード パターンを読み取ります。rsync -a --skip-compress=EXT source_dir destination_dir
: 指定した拡張子のファイルの圧縮をスキップします。rsync -a --modify-window=SECONDS source_dir destination_dir
: FAT ファイル システムのタイムスタンプの問題を処理するには、タイム ウィンドウ サイズを変更します。rsync -a --backup-dir=DIR --suffix=STRING source_dir destination_dir
: 既存のファイルを指定したディレクトリにバックアップし、カスタム サフィックスを追加します。rsync --version
:rsyncのバージョン情報を表示します。
これらのコマンドとオプションは、最も一般的なファイル同期のニーズを満たすことができ、特定の状況に応じて適切なコマンドを選択できます。rsync コマンドを使用するときは、重要なデータを誤って同期したり削除したりしないように、コマンド パラメーターを必ず注意深く確認してください。