rsyncコマンドの削除エラー「IOエラーが発生しました-ファイルの削除をスキップします」


16

rsyncコマンドを使用して、ubuntuサーバーの1つから別のubuntuマシンにファイルのバックアップを取ります。バックアップサーバーは、rysncコマンドを使用するスクリプトをトリガーします。ここに私が使用するコマンドがあります

rsync -rltvh --partial --stats --exclude = .beagle / --exclude =。* --delete-after root @ live_server:/ home / / home / live_server_backup / home >> /tmp/logfile.log 2> &1

live_serverはパスワードなしでssh対応です。それで動作します。今の問題は

--delete-afterオプション

すべてのファイルが同期された後、最後に削除手順skipped.logfileエラーが表示されます

IOエラーが発生しました-ファイルの削除をスキップします

ログを検索しようとしたときに、ファイルの同期中にエラーが発生しました

rsync:send_filesが「/home/xyz/Desktop/PPT_session_1_context.pdf」を開けませんでした:許可が拒否されました(13)

ですから、rsyncは安全上の理由でターゲットからすべてのファイルを読み取ることができなかったため、ファイルの削除をスキップしています。

パーミッションエラーがあったとしても--delete-afterを動作させる方法はありますか?強制削除は、状況によっては危険になるため、使用したくありません。


1
もう一度…
アーメルラルシエ

回答:


13

この問題に関する追加の注意:

vanished file条件をトリガーすべきではありませんIO error encountered -- skipping file deletionが、実際のシステムのバックアップを作成しているときによく起こります。

これはrsyncバグ#7809(https://bugzilla.samba.org/show_bug.cgi?id=7809)でカバーされており、今後のリリース3.1.0で解決される予定です。

それまでの間、以下を使用します。

--ignore-errors         delete even if there are I/O errors


2

除外ファイルを使用して、rsync読み取れないファイルを無視する必要があります。このリストはfind . -exec test -r '{}'、ソースディレクトリで生成され、必要な除外ファイル形式に変換されますrsync


実際、ソースディレクトリは非常に大きい(10〜12 GB)。そのため、ファイルを見つけるたびに(読み取り許可がない)効率的な方法ではありません。何て言うの?
XemX

一度実行して除外リストを作成し、一連の新しい読み取り不能ファイルが追加されない限り、再度実行しないでください。rsyncは同じツリートラバーサルを実行しているので、とにかくそれほど悪くないはずです。
カイルジョーンズ

はい。しかし、それは私のシナリオのようなものです。毎日のソースディレクトリにこのようなファイルが導入される場合があります。新しいファイルをバックアップマシンにバックアップする必要があります。
XemX

これに有効な解決策はありますか?また、ライブシステムからのバックアップにもrsyncを使用します。読み取りマシンでI / Oエラーが発生すると、ターゲットマシンでファイルが削除されます。
bzero
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.