Временные файлы нужны для логов, кэша и промежуточных вычислений, но если их не удалять – они засоряют систему. Сегодня про то, как автоматизировать их создание и удаление с помощью Bash и
mktemp.➕ Создание временных файлов и директорий. Используем mktemp:
TEMP_FILE=$(mktemp)
echo "Временный файл: $TEMP_FILE"
Или создаем временную папку:
TEMP_DIR=$(mktemp -d)
echo "Временная папка: $TEMP_DIR"
📂 Автоматическое удаление.
trap удалит временные файлы при завершении скрипта:
#!/bin/bash
TEMP_FILE=$(mktemp)
trap "rm -f $TEMP_FILE" EXIT
echo "Создан временный файл: $TEMP_FILE"
sleep 5 # Эмуляция работы скрипта
trap выполняет rm -f $TEMP_FILE при завершении скрипта – даже если он аварийно прерван.👩🎨 Скрипт для очистки старых временных файлов. Удалим файлы старше 1 дня в /tmp:
find /tmp -type f -mtime +1 -delete
Для папок:
find /tmp -type d -empty -mtime +1 -exec rmdir {} \;
🤖 Добавим в crontab ежедневную очистку
/tmp:
0 3 * * * find /tmp -type f -mtime +1 -delete
В 3 часа ночи старые временные файлы будут автоматически удаляться.
BashTex 📱 #bash #utils