rsync オプション一覧

rsyncのオプションを駆使すれば、ただ同期するだけでなく、アップロードされたファイルを別サーバーへ転送してからコピー元を削除するなど、いろんなことができます。

僕が実際同期以外でつかっているのは「--remove-source-files」と「--files-from=FILE」ですね。これで特定のファイルリストを作って別サーバーに転送し、転送後に削除を一連のながれでやってくれます。

rsync のオプション一覧と詳細
略称オプション名効果
-v--verbose転送情報を詳しく表示
-q--quiet転送情報を表示しない
-c--checksumタイムスタンプとファイルサイズではなくチェックサムを用いて同一ファイルか否かをチェックする
-a--archive転送元のディレクトリを再帰的にオーナー・グループ・パーミッション・タイムスタンプをそのままコピーします。アーカイブモード(-rlptgoD オプションと同義)
-r--recursiveディレクトリ内を再帰的にコピーする
-R--relative相対パス名を使う
-b--backupバックアップを作成する (デフォルトで ~ が付く)
--suffix=SUFFIXバックアップのサフィックスを変更
-u--update転送先にファイルが存在し、タイムスタンプが新しい場合は転送しない
-l--linksシンボリックリンクを維持して転送する
-L--copy-linksファイルのようにソフトリンクを扱う
--copy-unsafe-links送信側ツリー外のリンクを転送
--safe-links受信側ツリー外のリンクを無視
-H--hard-linksハードリンクを維持する
-p--permsパーミッションを維持して転送する
-o--ownerファイル所有者を維持して転送する (rootのみ有効)
-g--groupグループを維持する
-D--devicesブロックデバイスを維持する (rootのみ有効)
--specials名前付きパイプや FIFO などの特殊ファイルを転送
-t--timeタイムスタンプを維持して転送する
-S--sparse密度の低いファイルを効率的に扱う
-n--dry-run実際には転送せず、転送内容の出力のみ行う
--list-only実際には転送せず、転送対象となるファイルリストの表示のみ行う
-W--whole-filersync アルゴリズムを使わず、ファイル全体を転送する
--existing転送先に存在しないファイルは転送対象外
--ignore-non-existing転送先に存在しないファイルは転送対象外
--ignore-existing転送先に存在しているファイルは、転送対象外
--remove-source-files転送に成功したファイルは転送元から削除する (ディレクトリは残る)
--max-size=SIZE転送対象のファイルサイズ上限を指定する
--min-size=SIZE転送対象のファイルサイズ下限を指定する
-x--one-file-system再帰的に実行された時にファイルシステムの境界を横断しない
-B--block-size=SIZErsync アルゴリズムのチェックサムブロックサイズの制御(default 700)
-e--rsh=COMMANDリモートシェルを指定する
--rsync-path=PATHリモートのマシーンで rsync のコピーへのパスを指定
-C--cvs-excludeシステム間で転送したくない広範囲のファイルを除外(CVSの方法と同じ)
--delete転送元にないファイルを削除
--delete-excluded--exclude=PATTERN オプションで除外するファイルについても、DEST にあれば削除する
--partial転送途中のファイルを保存する(通常は転送中に同期不能になったファイルは削除される)
--forceディレクトリが空でなくても削除
--numeric-idsユーザとグループの id 番号を転送して、転送後にマッピング
--timeout=TIMEIO タイムアウトを設定(秒)
-I--ignore-timesタイムスタンプとファイルサイズをチェックせず、すべてのファイルをアップデートする
--size-onlyタイムスタンプのチェックをしないで、ファイルサイズのチェックだけをする
-T--temp-dir=DIRtmp ファイルのディレクトリを指定
--compare-dest=DIR受信側のファイルと比較するための追加ディレクトリ
-z--compressデータ転送時に圧縮を行う
--compress-level=NUM圧縮レベルを指定する
--exclude=PATTERNパターン一致するファイルを除外(例: --exclude="*.txt")
--exclude-from=FILEファイルに記述されたパターンと一致するファイルを除外
--include=PATTERNパターン一致するファイルを除外しない
--include-from=FILEファイルに記述されたパターンと一致するファイルを除外しない
--versionrsync のバージョンを表示する
--daemonrsync をデーモンとして走らせる
--config=FILE別の rsyncd.conf ファイルを指定
--port=PORT別の rsync ポート番号を指定
--stats転送完了後に、統計情報を表示する
--progress転送中のファイルの転送速度を表示する
--files-from=FILEテキストファイルに記入されたファイルリストのみを転送する(例: --files-from=list.txt)
--log-format=FORMATログフォーマットを指定
--password-file=FILEファイルからパスワードを得る
-h--human-readableファイルサイズのbytesをKやMで出力
--bwlimit=KBPSファイル転送に帯域制限をかける。KBytes/sec で指定する
-E--executabilityリソースフォークもコピー
--flagsファイルフラグをそのまま転送する
--inplace一時ファイルを使用せず、直接転送先ファイルへ上書きする
-f--filter=RULEファイルフィルタリングルールを追加する
-4IPv4を使用する
-6IPv6を使用する