Архивирование и удаление устаревших файлов журналов
Ваша последняя задача — наведение порядка. В каталоге ~/project/logs скапливаются файлы журналов, и те, что относятся к 2023 году, больше не нужны для повседневной работы. Чтобы сэкономить место и поддерживать порядок, вам нужно сжать эти старые журналы в один архивный файл, а затем удалить исходные файлы.
Понимание команды tar
Команда tar — это мощный инструмент Linux для создания и манипулирования архивными файлами. Изначально "Tar" расшифровывалось как "Tape Archive" (ленточный архив), так как он был разработан для записи данных на магнитные ленты, но сегодня он обычно используется для создания сжатых архивных файлов на диске.
Когда вы используете tar, вы по сути объединяете несколько файлов в один (называемый архивом), и вы можете дополнительно сжать этот архив, чтобы сэкономить место. Самый распространенный формат сжатия — gzip, который добавляет расширение .gz к имени файла.
Команда tar использует различные опции (флаги) для управления своим поведением:
c: Создать новый архив
z: Сжать архив с помощью gzip
f: Указать имя файла архива
Таким образом, tar -czf archive.tar.gz file1 file2 создает новый сжатый архив с именем archive.tar.gz, содержащий file1 и file2.
Задачи
- Перейдите в каталог
~/project/logs.
- Создайте сжатый tar-архив с именем
old_logs.tar.gz, который содержит все файлы журналов за 2023 год.
- После успешного создания архива удалите исходные файлы журналов за 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
Когда вы выполните ls в каталоге ~/project/logs/, вы должны увидеть:
app_2024-05-01.log old_logs.tar.gz
Подсказки
- Используйте команду
tar для создания архивов. Опции -czf — это мощная комбинация: c (создать), z (сжать с помощью gzip) и f (указать имя файла).
- Вы можете использовать подстановочный знак (
*) для выбора нескольких файлов, соответствующих шаблону. Например, *_2023-*.log будет соответствовать всем файлам, которые заканчиваются на .log и имеют _2023- в своем имени.
- Команда
rm используется для удаления файлов. Будьте осторожны при использовании ее с подстановочными знаками!