「Linuxコマンド - rsync」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <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
   
   
  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
動作内容を表示する。


-aオプション使用時に有効になるオプション
オプション 説明
-r
--recursive
ディレクトリを再帰的に処理する。
-l
--links
シンボリックリンクをシンボリックリンクのままコピーする。
-p
--perms
パーミッションを保持する。
-t
--times
タイムスタンプを保持する。
-g
--group
所有グループをそのまま保持する。
-o
--owner
所有者をそのまま保持する。(自分以外の所有者を保持するにはroot権限が必要)
-D デバイスファイルや特殊ファイルを保持する。(--devices --specials相当)
--devices デバイスファイルを保持する。(root権限が必要)
--specials 特殊ファイルを保持する。


-aオプション使用時に無効になるオプション
オプション 説明
-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