На многих серверах можно встретить скрипты, которые создают нужные каталоги при загрузке системы или периодически чистят временные файлы через cron.
Хотя systemd умеет делать это самостоятельно.
▪️Что такое tmpfiles.d
Механизм
tmpfiles.d позволяет создавать каталоги, менять права доступа, владельцев и автоматически удалять старые файлы по заданным правилам.Конфигурации обычно находятся здесь:
/etc/tmpfiles.d/
/usr/lib/tmpfiles.d/
▪️Создание каталога при стартеДопустим, приложению нужен каталог для кэша:
d /var/cache/myapp 0755 myapp myapp -
Где:d — создать директорию0755 — права доступаmyapp myapp — владелец и группаПосле применения:
systemd-tmpfiles --create
Каталог появится автоматически.▪️Автоматическая очистка
Удалять файлы старше 7 дней:
D /var/tmp/myapp 0755 myapp myapp 7d
Теперь systemd будет очищать содержимое каталога согласно политике хранения.Проверить правила можно так:
systemd-tmpfiles --clean
▪️Где это полезноКэш приложений, временные выгрузки, очереди обработки файлов, каталоги с отчётами и любые данные, которые должны жить ограниченное время.
▪️Почему это удобнее cron
Вместо отдельных скриптов и задач в планировщике вся логика хранения описывается одной строкой конфигурации. Создание, права доступа и очистка управляются стандартными средствами системы.
BashTex 📱 #scripts #tmpfiles