古いログファイルのアーカイブと削除
最後のタスクは、ちょっとした整理整頓です。~/project/logs ディレクトリにログファイルが溜まってきており、2023 年のものは日常業務にはもう必要ありません。スペースを節約し、整理された状態を保つために、これらの古いログを 1 つのアーカイブファイルに圧縮し、元のファイルを削除する必要があります。
tar コマンドについて
tar コマンドは、アーカイブファイルを作成・操作するための強力な Linux ツールです。「Tar」はもともと磁気テープにデータを書き込むために設計されたため「Tape Archive」の略でしたが、今日では主にディスク上で圧縮アーカイブファイルを作成するために使用されます。
tar を使用すると、基本的に複数のファイルを 1 つのファイル(アーカイブと呼びます)にまとめ、オプションでそのアーカイブを圧縮してスペースを節約できます。最も一般的な圧縮形式は gzip で、ファイル名に .gz 拡張子が付きます。
tar コマンドは、動作を制御するためにさまざまなオプション(フラグ)を使用します:
c: 新しいアーカイブを作成する (Create)
z: gzip を使用してアーカイブを圧縮する
f: アーカイブのファイル名を指定する (Filename)
したがって、tar -czf archive.tar.gz file1 file2 は、file1 と file2 を含む archive.tar.gz という名前の新しい圧縮アーカイブを作成します。
タスク
~/project/logs ディレクトリに移動します。
- 2023 年のすべてのログファイルを含む、
old_logs.tar.gz という名前の圧縮 tar アーカイブを作成してください。
- アーカイブが正常に作成されたら、今アーカイブした元の 2023 年のログファイルを削除してください。
要件
- 最終的なアーカイブ名は正確に
old_logs.tar.gz とすること。
- アーカイブは
~/project/logs ディレクトリ内に配置すること。
- ファイル名に
2023 が含まれるログファイルのみをアーカイブし、その後削除すること。
- 2024 年のログファイル(
app_2024-05-01.log)はアーカイブに含めず、削除もしないこと。
例
アーカイブ前のログディレクトリの内容:
~/project/logs/
├── app_2023-01-15.log
├── app_2024-05-01.log
└── db_2023-02-20.log
アーカイブタスク完了後のログディレクトリの状態:
~/project/logs/
├── app_2024-05-01.log
└── old_logs.tar.gz
~/project/logs/ ディレクトリで ls を実行すると、以下のように表示されるはずです:
app_2024-05-01.log old_logs.tar.gz
ヒント
- アーカイブの作成には
tar コマンドを使用します。-czf オプションは強力な組み合わせです:c(作成)、z(gzip で圧縮)、f(ファイル名指定)。
- ワイルドカード(
*)を使用すると、パターンに一致する複数のファイルを選択できます。例えば、*_2023-*.log は、.log で終わり、名前に _2023- が含まれるすべてのファイルに一致します。
rm コマンドは、ファイルを取り除く(削除する)ために使用されます。ワイルドカードと一緒に使用する場合は注意してください!