ファイルにアクセスできなくなると、rsyncは現在のファイルを上書きしますか?

ファイルにアクセスできなくなると、rsyncは現在のファイルを上書きしますか?

一部のデータディレクトリにアクセスできない場合、rsyncは現在所有しているファイルを上書きしますか?

rsync -amHAXxzvR --update --numeric-ids --progress  --include='*/' --include=*.sas7bdat --exclude='*.old/' --exclude=* -e [email protected]:/XXX/ /mnt/z/XXX/.

私のデータへのアクセスは、機関のデータベースアクセスに応じて毎年変わることがあります。たとえば、一部のファイルでは、アクセス権がないと、次のエラーが発生します。 「XXXX」を開けませんでした:権限が拒否されました(13)。

それでは、上記のコマンドを実行すると、rsyncがダウンロードしたがアクセスできない現在のファイルを上書きして削除しますか?

では、どうすれば回避できますか?ありがとうございます。

ベストアンサー1

指定しなかった--deleteため、ターゲットからファイルは削除されません。権限を直接簡単にテストできます。

想像する

mkdir -p 739797/src 739797/dst
cd 739797

echo first try | tee src/file1 >src/file2         # Create two files
rsync -av src/ dst/                               # Copy everything

これで、以下を使用して同じコンテンツが含まれていることをls -l確認できます。dst/src/

echo second attempt | tee src/file1 >src/file2    # Update the two files
chmod u= src/file2                                # Remove permission from file2
rsync -av src/ dst/                               # Attempt to copy everything

rsync許可拒否失敗が表示されますfile2。それを使用すると、更新されたがまだ更新されていないことがls -l dstわかります。また、まだ(正しく)更新されていません。file1file2file

-rw-r--r-- 1 roaima roaima 15 Mar 15 13:09 file1
-rw-r--r-- 1 roaima roaima 10 Mar 15 13:04 file2

追加のガイドライン

  1. データベースまたは他のファイルをバックアップする場合は、コピー中にrsyncソースファイルをロックせず、コピーがすぐには行われないことに注意してください。コピー中にソースファイルがrsync変更されると、ターゲットファイルが検出されない破損で終了する可能性があります。バックアップスナップショットまたはアイドルコピー
  2. シェルがファイルシステムのファイルとディレクトリと一致しようとしないように、--include常にワイルドカードパターンを引用してください。書く--exclude代わりに--exclude=*--exclude='*'

おすすめ記事