ディレクトリをフォルダに移動した後にディレクトリを自動的に.tarする方法[閉じる]

ディレクトリをフォルダに移動した後にディレクトリを自動的に.tarする方法[閉じる]

別のディレクトリ(ターゲットディレクトリ)に移動する場合は、そのディレクトリと同じ名前のディレクトリを自動的にtaringする.shシェル/bashスクリプトが必要です。

たとえば、/home/user/MyFiles/ ディレクトリがあり、/MyFiles/ ディレクトリを /home/user/new/ に移動し、各ディレクトリを含む /home/user/new/ 内に MyFiles.tar を作成する場合必要です。 /home/user/MyFiles ファイルは MyFiles.tar に含まれています。

編集:私が言及するのを忘れたのは、.tarに必要なディレクトリには時々ディレクトリ名に文字()が含まれているため、引用符を使用しないとエラーが発生することを知っているので、これを考慮するスクリプトが必要であることです。および () 文字が存在します (例: tar -cvf "Example-(folder).tar" "Example-(folder)")

ベストアンサー1

使いたいかもしれませんイノティファイ(7)施設(ローカル、ネットワークに接続されていないext4などのファイルシステムを想定)

インクロンが欲しいかもしれません。たとえば、参照してください。これ。一般的にincronforIN_CREATEとeventsを使うことで十分だと思いますIN_MOVED。バラより含む(8)そして増分テーブル(5)

しかし、動機と高いレベルの目標を説明する必要があります(あなたの質問は少し似ています)。XYの問題)。バージョン管理システム(またはバックアップ?)が必要なようです。私はお勧めします

詳しくはこちらインデックスノード。ファイル(実際にはファイルシステムのinode)に次のものがあることに注意してください。一部パス(またはなし)と次の場所に表示されます。一部ディレクトリ(例:ハードリンクの使用、リンク(2)システムコールとln(1)注文する)。

別のディレクトリ(ターゲットディレクトリ)に移動する場合は、そのディレクトリと同じ名前のディレクトリを自動的にtaringする.shシェル/bashスクリプトが必要です。

この目的はあいまいです(ファイル(実際には匿名のinode))には次のものがあります。一部名前と登場一部ディレクトリは同時に作成、作成、削除、切り捨て、および/または読み取ることができます。一部プロセス)。

たぶん定期的に別のスクリプトを実行することができます(例:スケジュールされたタスク(5)、クローンジョブがいくつか実行されている可能性があります。作るまたは忍者このコマンドはinodeの修正時間を考慮します。

ところで、このサイトは「私のスクリプトを書く」サービスではありません。他の人が自分のスクリプトを書くよりも、上記のようなプロンプトを期待する必要があります。

私は読書をお勧めします高度なLinuxプログラミング(内部の観点から)Linuxシステムについてもっと学びましょう。

ファイル名のPS文字(は問題ありません。シェルスクリプトでは、変数名の周りに適切な二重引用符と中括弧を使用してください。しかし、Linux上のファイルやファイルシステムは、例えばWindowsとは異なる動作をします。 inodeの概念を理解することが重要です。

おすすめ記事