コピーが完了したら、ターゲットファイルの名前を変更できますか(プレフィックスでいくつかのタイムスタンプを追加)rsync
。
たとえば、次のようにサフィックスを使用してターゲットファイルの名前を変更できます。
rsync --append -arzvv --backup --suffix='_2015_09_10' /path/to/src/file /path/to/dst
ただし、タイムスタンプをプレフィックスとして追加したいので、ターゲットには次のよう2015_09_10_file
な内容が表示されますfile_2015_09_10
。
答え1
実際には可能ですが、少しハッキング的です。サフィックスとしてのみ使用されます。
コメントを読んだかのように--suffix
上書きしたファイルをバックアップするためのものです。したがって、ソースからターゲットに同じファイルを同期してrsyncが上書きされるように強制します-I
が、ソースファイルが-u
より新しい場合(絶対的ではありません)、その-b, --backup
オプションを使用してバックアップディレクトリとサフィックスを定義する場合にのみ適用されます。
rsync -Iu --backup --suffix='_2015_09_10' --backup-dir=/path/to/dst /path/to/src/file /path/to/src/file
答え2
Rsyncは個々のファイルレベルでこれを行うことはできませんが、ツリー全体の操作を一部サポートしています。たとえば、
/path/to/dst-2019-07-31/file
/path/to/dst-2019-07-30/file
/path/to/dst-2019-07-29/file
...
3つのオプションがあります。
--compare-dest=DIR
新しいディレクトリにのみ新しいファイルが作成されます。リストに追加する必要があるため、これはおそらくあなたが望むものではないかもしれません。みんな以前のバージョンのディレクトリ。--copy-dest=DIR
DIR
変更されていないファイルをソースから転送するのではなく、ターゲットにコピーします。--link-dest=DIR
同じですが、ファイルの内容をコピーしないため、ターゲットははるかに少ないディスク容量を使用します。
次のように使用します。
rsync -a --link-dest=/path/to/dst-$YESTERDAY /path/to/src /path/to/dst-$TODAY
答え3
rsyncに転送された個々のファイルの名前を変更するのは非常に簡単です。
rsync /path/to/original_name.txt /path/new/my_new_file_name.txt
ターゲットパスにファイル名を指定すると、新しいファイル名になります。 OPの場合は使用したいので役に立ちません。部分既存のファイル名を使用して複数のファイルの名前を変更します。しかし、Q&Aをより一般的に便利にするためにこれを追加しています。