0

最近、インタビューで次のような質問を受けました。

/home/pavan ディレクトリに myfile.txt という名前の新しいファイルを作成しようとするとします。同じディレクトリに myfileCopy.txt が自動的に作成されます。A.txt の場合、同じディレクトリに ACopy.txt、B.txt、BCopy.txt が自動的に作成されます。

スクリプトを使用してこれを行うにはどうすればよいですか? このスクリプトは crontab で実行する必要があることを知っているかもしれません。

inotify-tools は使用しないでください。

4

1 に答える 1

0

なぜやりたいのか説明できますか?

VIM などのツールは、作業中のファイルのバックアップ コピーを自動的に作成できます。Dropbox (Linux、Windows、Mac で動作) などの他のツールはファイルをバージョン管理できるため、過去 30 日間のファイルのすべてのコピーをバックアップします。

これらのファイルの作成に使用するツールにエイリアスを作成することで、何かを行うことができます。よく使用するツールでファイルを編集すると、ツールを呼び出す前にエイリアスがコピーを作成する可能性があります。

それ以外の場合は、crontab を使用して時々バックアップを作成することを選択します。


補遺

ディレクトリ /home/pavan があると仮定して、そのディレクトリにファイル myfile.txt を作成すると、すぐに同じフォルダー
pavenに myfileCopy.txt ファイルを自動的に生成する必要があります。

これを実行できる簡単なユーザー ツールはありません。実際、あなたが述べたように、あなたが何をしたいのか、そしてその理由は明確ではありません. バックアップは、次の 2 つの理由で実行されます。

  1. 最近の変更を元に戻す必要がある場合に備えて、ファイルの古いバージョンを保存します。あなたのシナリオでは、変更されていない新しいファイルを保存しているだけです。
  2. 災害時にファイルを保存する。そのファイルを別の場所に配置したい: 別のコンピューター上、おそらく別の物理的な場所、または少なくとも現在のファイルと同じディスク ドライブ上にない. あなたの場合、同じディレクトリにバックアップを作成しています。

VIM などのツールは、編集中のファイルを自動的にバックアップするように設定できます。これは、上記の理由 #1 を満たします: ファイルの古いリビジョンを取り戻すため。EMAC は無限の一連のバックアップを作成できます。

Dropbox のようなツールは、エーテル上の別の場所にファイルのバックアップを作成します。これは、災害時にファイルを保持する理由 #2 を満たします。Dropbox は、保存したファイルのバージョンも管理します。これも理由 1 です。

変更をコミットすることを覚えていれば、バージョン管理ツールでも両方を行うことができます。彼らはすべての変更を私のファイルに保存し (理由 #1)、これをリモートの場所にあるサーバーに保存できます (理由 #2)。

crontab を考えていましたが、何をバックアップしますか? 変更されたファイルはすべてバックアップします (理由 1) が、同じディレクトリに保存している場合はあまり意味がありません。私が持っているのは、ファイルの複製コピーだけです。以前のバージョンをバックアップすることは理にかなっていますが、単純な crontab でこれを知るにはどうすればよいでしょうか? 古いバージョンのファイルを保持しますか、それとも元のコピーのみを保持しますか?

これを行う唯一の実際の方法は、システム レベルで、ディスク IO 呼び出しを重ねるツールを使用することです。たとえば、ある場所では、Netapps$HOME/.snapshotを使用して、1 時間ごと、1 時間ごと、1 か月ごとにディレクトリがどのように見えるかを含むディレクトリを作成しました。誰かがファイルを削除したり、めちゃくちゃにしたりした場合、ファイルのバージョンが$HOME/.snapshotディレクトリのどこかに存在する可能性が高くなります。

私の Mac では、1 時間ごとにドライブ全体をバックアップし、1 年半以上前のドライブのスナップショットを作成する Time Machine と、ファイルをメインの Dropbox に保存しておく Dropbox を組み合わせて使用​​しています。どこかのサーバー。その組み合わせに何度も救われました。

これはインタビューの質問だったことがわかりました。どういう立場だったのかわからない。質問者は、ネットワーク技術職のように、これをシステム全体に実装する方法を考え出すことを望んでいましたか、それとも、誰かが誰かにインタビューした瞬間に誰かが思いついた脳のリークの 1 つでしたが、あまりにも多すぎました申請者に実際に尋ねるべきことを確認するために、前の晩に酔っ払っていませんか?

彼らは、バックアップの目的と、ファイルを作成後すぐに同じディレクトリにバックアップすることがなぜ愚かな考えであり、最適な解決策ではないのかについて、全体的な議論を望んでいたのでしょうか。実際の問題を理解するのに十分な技術的ですか?

于 2013-06-09T17:45:55.953 に答える