私はbashラッパースクリプトを使用しているrsync
ので、オプション--dry-run
を使用して実行し、出力をgrepして「削除」を確認するため、いくつかのエラーが原因でデータが失われないことを確認できます。 (ログ出力で削除されたファイルが見つかりませんが、--log-file
これは別の質問です。)
しかし、このような追加の安全対策を講じても、まだ問題を引き起こす可能性があります。誤ってrsyncコマンドで通常のソースフォルダとターゲットフォルダを置き換え、ターゲットフォルダにない一部のファイルをソースフォルダから削除しました。ラッパースクリプトの出力でファイルが削除されたとマークされていることがわかりますが、パス名が相対的であり、そのファイルが反対側(通常は宛先)にあると仮定しているため、エラーがありません。
以下の同様の質問で提案されているようにrsyncオプションを試してみましたが、--relative
望む効果はありませんでした。
(まだこの質問にコメントすることができる評判がないので、新しい質問を作成しており、答えを聞く必要もないようです。私が間違っている場合は訂正してください。)
rsync
いくつかのコマンドラインオプションを使用してこれを達成する方法についてのアイデアはありますか?
ベストアンサー1
私も同じ間違いを犯し、この質問に対する答えを探していました。説明した方法でrsyncのデフォルトの動作を変更する方法が見つかりませんでした。テスト実行を実行する前に、ソースフォルダに独自のファイルを作成してこの問題を解決しました。 rsyncのログにファイルが表示され、削除マークが表示された場合は、何かが間違っていることがわかります。