「Linuxコマンド - rsync」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== 概要 == <code>rsync</code>コマンドは、リモート環境とファイルやディレクトリを同期(sync)するコマンドである。(ローカル環…」) |
|||
132行目: | 132行目: | ||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
ビルドに必要な依存関係のライブラリをインストールする。<br> | ビルドに必要な依存関係のライブラリをインストールする。<br> | ||
sudo zypper install libopenssl-devel libacl-devel xxhash-devel | 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 | |||
<br> | <br> | ||
rsyncのGitHubからソースコードをダウンロードする。<br> | rsyncのGitHubからソースコードをダウンロードする。<br> | ||
git clone https://github.com/WayneD/rsync.git rsync | 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 | cd rsync | ||
<br> | <br> | ||
143行目: | 152行目: | ||
mkdir build && cd build | mkdir build && cd build | ||
../configure --prefix=$HOME/InstallSoftware/rsync --disable-lz4 --disable-zstd | ../configure --prefix=$HOME/InstallSoftware/rsync --disable-lz4 --disable-zstd --disable-md2man | ||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install |
2021年10月29日 (金) 08:51時点における版
概要
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 |
タイムスタンプを保持する。 |
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