rsync 3.1.0 空のバックアップディレクトリの作成

rsync 3.1.0 空のバックアップディレクトリの作成

私はrsyncバージョン3.0.9とバージョン3.1.0の違いを見つけました。

コマンドの実行

$ rsync -a --delete --backup --backup-dir=../old source/ dest/

バージョン 3.1.0 は出力を提供します。

Created backup_dir ../old/

バックアップディレクトリにファイルがコピーされていない場合も同様です。私は通常、バックアップディレクトリ名に現在の時間を追加します。これは最終的に空のディレクトリが多くなることを意味します。 rsyncバージョン3.0.9では、バックアップディレクトリが必要な場合にのみ作成されます。

私の質問は次のとおりです

  1. これが予想される動作ですか?では、空のバックアップディレクトリの作成を無効にできますか?
  2. バージョン3.1.0と一緒にrsyncバージョン3.0.9をインストールすると、1つはrsync309、もう1つはrsync310と呼ばれ、rsyncを2つのいずれかに接続するエイリアスを持つことができます(私の場合はrsync 3.0.9を続けています。新しい行動が迷惑だと思う)?

答え1

はい、これは意図的な行為です。エラー番号11423この問題に関する情報はバージョン 3.1.2 で提出され、再び変更されました。

https://bugzilla.samba.org/show_bug.cgi?id=11423#c12:

私はまだ転送の開始時に最上位のバックアップディレクトリの新しい早期検証を好みますが、必要なときにのみディレクトリを作成するように置き換えるように説得されました。今後のバージョン3.1.2用に修正されました。

ほとんどのディストリビューションはまだバージョン3.1.2用のパッケージを提供していませんが、迅速かつ簡単にコンパイルされます。 Debian Jessieは次のことを行い、すべてが順調に進み、新しいバージョンを次の場所にインストールしました/usr/local/bin

wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar xvf rsync-3.1.2.tar.gz -C /tmp/
cd /tmp/rsync-3.1.2/
./configure
make
make install

デーモンとして使用すると、initスクリプトはフルパスでそれを呼び出すことができるため、新しいバージョンへのリンクに置き換えることもできます。

/etc/init.d/rsync stop
mv /usr/bin/rsync /usr/bin/rsync.old
ln -si ../local/bin/rsync /usr/bin/rsync
/etc/init.d/rsync start

修正する:Debian Jessieを使用している場合は、実際には次のrsyncパッケージをインストールできます。Debian ストレッチ:

wget "http://ftp.ch.debian.org/debian/pool/main/r/rsync/rsync_3.1.2-1_amd64.deb"
dpkg -i rsync_3.1.2-1_amd64.deb

関連情報