2016-07-14 8 views
-2

を決定しますそれ。これは数百GBのデータを含む大規模なディレクトリです。とにかく削除するには長い時間がかかります。コマンドが不完全であったのでバッシュ:私は</p> <p><code>rm -rf name</code></p> <p>シンボリックリンクを削除したかったが、代わりに</p> <p><code>rm -rf name/</code></p> <p>を使用し、私はそれが間違いを実現するために私の第二を取り、キャンセルと思う部分的に削除されたコンテンツ

  1. 、部分的に処理されたファイルが復元されている(mvをなど)または彼らはすでに完全に削除されますか?

  2. 回復不能に削除された場合、削除されたものを見つけることはできますか? ls(アルファベット順)と同じ順番で削除されますか?

  3. システムからファイルのログが削除されていますか?

OSはScientific Linuxです。ファイルシステムはnfs(df -T)です。

+0

bashに関する質問ではありません。あなたは 'rm'を呼び出すツール(シェル、プログラミング言語など)から*正確な*同じ動作をしたり、' unlink() 'システムコールを直接呼び出すことさえあります。 –

+1

...プログラミングに関する質問でもありません。私はhttp://superuser.com/またはhttp://unix.stackexchange.com/ –

+2

のいずれかをお勧めします。リンクされていないファイルは、書き込まれた新しいコンテンツにブロックを再割り当てする傾向があります。いいえ、プロセスをキャンセルしてもリンクは復元されません。 –

答えて

1

私はまだ質問をここで話題にしていますが、質問の各枝に明示的な回答を1か所で持たせることはできません。この回答がスーパーユーザに移行されると質問、すべてのよりよい:


  1. コマンドが不完全であったので、部分的に処理されたファイルは、(MVのような)が復元されているか、彼らはすでに完全に削除されますか?ただ、単一のファイルシステム内の再帰的mv中の個々のrename()システムコールのように、単一のファイルの個々のunlink()がアトミックである

- それが完了するいずれか、またはそれは、ファイル単位でありません。 「半分完了」状態はなく、ロールバックできる複数のファイルにまたがる大規模なトランザクションはありません。 個々のディレクトリエントリは削除されるか、削除されます。

同様に、unlink()の末尾にあるファイルハンドルを指す残りのディレクトリエントリ(別名「ハードリンク」)を持たないファイルは、直ちに削除の対象になります。ファイルシステムは、データが格納されている基礎ブロックを実際に消去または再利用するかどうか、いつ、どのような状況で、どのブロックが現在削除された各ファイルに関連付けられているかを指定する追跡データ。

  1. 削除されたものが見つからない場合、削除されたものを見つけることはできますか?それはls(アルファベット順)と同じ順序で削除されますか?

一般的ではありません。特定のバックエンドファイルシステムが存在し、スナップショット間の変更を追跡することも、ポイントインタイムリカバリを行うこともできます(これらは一般的に商用であるため、管理者が支払った場合のみ利用可能です)。 sysdig)があります。

たとえば、システム管理者がZFSまたはcronnedスナップショットを使用してbtrfsを実行している場合、現在存在するファイルのリストと最後のスナップショットとして存在していたファイルのリストを比較できます。

  1. システムからファイルのログが削除されていますか?

一般的ではありません。あなたのサイトがSysdig Cloud、またはデフォルト以外の動作をしている商用のファイルサーバーを実行している場合は、システム管理者のスタッフがその質問に答えることができます。

+1

私は管理者に連絡し、スナップショットが有効になっていることが分かりました。それでは、現在のディレクトリと古いスナップショットを 'diff'を使って比較するだけで、簡単に復元できる4つの大きなファイルが削除されました。助けてくれてありがとう。 – rmf

関連する問題

 関連する問題