「Linuxコマンド - rsync」の版間の差分
ナビゲーションに移動
検索に移動
(→オプション) |
|||
125行目: | 125行目: | ||
|- | |- | ||
| -t<br>--times || タイムスタンプを保持する。 | | -t<br>--times || タイムスタンプを保持する。 | ||
|} | |||
</center> | |||
<br> | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|+ ネットワーク転送関係のオプション<br>(ローカル転送時も使用可能) | |||
|- | |||
! style="background-color:#66CCFF;" | オプション | |||
! style="background-color:#66CCFF;" | 説明 | |||
|- | |||
| -T<br>--temp-dir=<ディレクトリのパス> || 指定したディレクトリに一時ディレクトリを作成する。 | |||
|- | |||
| -z<br>--compress || 転送中のデータを圧縮する。 | |||
|- | |||
| --compress-level=<レベル> || データの圧縮レベルを指定する。 | |||
|- | |||
| --skip-compress=<リストファイル> || リストファイルに書かれたファイルは圧縮しない。 | |||
|- | |||
| --port=<ポート番号> || ポート番号を指定する。 | |||
|- | |||
| --sockopts=<TCPオプション> || TCPオプションを指定する。 | |||
|- | |||
| -8<br>--8-bit-output || 8ビット以上の文字をエスケープしない。 | |||
|- | |||
| -h<br>--human-readable || 数字を読みやすい単位で表示する。 | |||
|- | |||
| --progress || 転送の進行状況を表示する。 | |||
|- | |||
| -P || <code>--partial --progress</code>と同様である。 | |||
|- | |||
| --partial || 転送を中断したファイルを保持する。 | |||
|- | |||
| --partial-dir=<ディレクトリのパス> || 転送を中断したファイルを保存するディレクトリ。 | |||
|- | |||
| -4<br>--ipv4 || IPv4を使用する。 | |||
|- | |||
| -6<br>--ipv6 || IPv6を使用する。 | |||
|- | |||
| --timeout=<秒数> || I/Oタイムアウトの秒数。 | |||
|- | |||
| --iconv=<変換方法> || ファイル名の変換方法を指定する。<br>(転送元がmacOSの場合は、<code>--iconv=UTF-8-MAC,UTF-8</code>のように指定する) | |||
|} | |} | ||
</center> | </center> |
2021年10月30日 (土) 09:57時点における版
概要
rsync
コマンドは、リモート環境とファイルやディレクトリを同期(sync)するコマンドである。(ローカル環境のみでも使用できる。)
変更があった分だけ更新する機能があるため、特にディレクトリ単位のバックアップに便利である。
オプション
rsync
コマンドの書式を、以下に示す。
rsync <オプション> <同期元のディレクトリのパス> <同期先のディレクトリのパス>
下表に、rsyncコマンドの主なオプションを示す。
オプション | 説明 |
---|---|
-a --archive |
アーカイブモード(-rlptgoD -no-H -no-A -no-X 相当)
|
-c --checksum |
更新日とサイズではなく、チェックサムで変更の有無をチェックする。 |
--daemon | デーモンとして動作する。(--daemon --help でデーモン時に使用できるオプションが確認できる)
|
-I --ignore-times |
サイズとタイムスタンプが同じファイルも処理する。 |
--list-only | コピーする代わりにファイルのリストを作成する。 |
-n --dry-run |
試験モード。 実際には動作せず、動作内容だけ表示する。( -v や--stats を一緒に指定する)
|
--no-<オプション名> | 指定したオプションを無効にする。(-H を無効にする場合は、--no-H のように指定する)
|
-q --quiet |
動作中のメッセージを抑制する。 |
--stats | ファイル数や転送サイズを表示する。 |
--size-only | 同じサイズのファイルは処理しない。 |
-v --verbose |
動作内容を表示する。 |
オプション | 説明 |
---|---|
-r --recursive |
ディレクトリを再帰的に処理する。 |
-l --links |
シンボリックリンクをシンボリックリンクのままコピーする。 |
-p --perms |
パーミッションを保持する。 |
-t --times |
タイムスタンプを保持する。 |
-g --group |
所有グループをそのまま保持する。 |
-o --owner |
所有者をそのまま保持する。(自分以外の所有者を保持するにはroot権限が必要) |
-D | デバイスファイルや特殊ファイルを保持する。(--devices --specials 相当)
|
--devices | デバイスファイルを保持する。(root権限が必要) |
--specials | 特殊ファイルを保持する。 |
オプション | 説明 |
---|---|
-H --hard-links |
ハードリンクを保持する。 |
-l --links |
ACL(アクセス制御リスト)を保持する。(-p も同時に指定した扱いになる)
|
-X --xattrs |
拡張属性を保持する。 |
オプション | 説明 |
---|---|
--copy-unsafe-links | リンク先が自分の配下にないものだけを対象にする。 |
-k --copy-dirlinks |
ディレクトリへのリンクの場合もリンク先を転送する。 |
-K --keep-dirlinks |
ディレクトリへのリンクをたどらない。 |
-l --links |
シンボリックリンクをシンボリックリンクのままコピーする。 |
-L --copy-links |
シンボリックリンクを対象にする。 |
--safe-links | リンク先が自分の配下にあるものだけを対象にする。 |
オプション | 説明 |
---|---|
--chmod=CHMOD | パーミッションを指定する。 |
-E --executability |
実行可能属性を保持する。 |
-g --group |
所有グループをそのまま保持する。 |
--numeric-ids | ユーザIDとグループIDを保持する。(転送先の名前に対応させない) |
-O --omit-dir-times |
--times オプション指定時、ディレクトリは除外する。
|
-o --owner |
所有者をそのまま保持する。(自分以外の所有者を保持するにはroot権限が必要) |
-p --perms |
パーミッションを保持する。 |
-t --times |
タイムスタンプを保持する。 |
オプション | 説明 |
---|---|
-T --temp-dir=<ディレクトリのパス> |
指定したディレクトリに一時ディレクトリを作成する。 |
-z --compress |
転送中のデータを圧縮する。 |
--compress-level=<レベル> | データの圧縮レベルを指定する。 |
--skip-compress=<リストファイル> | リストファイルに書かれたファイルは圧縮しない。 |
--port=<ポート番号> | ポート番号を指定する。 |
--sockopts=<TCPオプション> | TCPオプションを指定する。 |
-8 --8-bit-output |
8ビット以上の文字をエスケープしない。 |
-h --human-readable |
数字を読みやすい単位で表示する。 |
--progress | 転送の進行状況を表示する。 |
-P | --partial --progress と同様である。
|
--partial | 転送を中断したファイルを保持する。 |
--partial-dir=<ディレクトリのパス> | 転送を中断したファイルを保存するディレクトリ。 |
-4 --ipv4 |
IPv4を使用する。 |
-6 --ipv6 |
IPv6を使用する。 |
--timeout=<秒数> | I/Oタイムアウトの秒数。 |
--iconv=<変換方法> | ファイル名の変換方法を指定する。 (転送元がmacOSの場合は、 --iconv=UTF-8-MAC,UTF-8 のように指定する)
|
rsyncのインストール
ソースコードからインストール
ビルドに必要な依存関係のライブラリをインストールする。
sudo zypper install libopenssl-devel libacl-devel xxhash-devel liblz4-devel libzstd-devel python3 -mpip install --user commonmark # または sudo zypper install libopenssl-devel libacl-devel xxhash-devel liblz4-devel libzstd-devel python3-CommonMark
rsyncのGitHubからソースコードをダウンロードする。
wget https://github.com/WayneD/rsync/archive/refs/tags/v<x.x.x>.tar.gz # Release版 tar xf rsync.tar.gz cd rsync # または git clone https://github.com/WayneD/rsync.git rsync # Debug版 cd rsync
rsyncをビルドおよびインストールする。
mkdir build && cd build ../configure --prefix=$HOME/InstallSoftware/rsync --disable-lz4 --disable-zstd --disable-md2man make -j $(nproc) make install
rsyncを動作させるために必要なライブラリをインストールする。
sudo zypper install openssl libxxhash