Контакт: @Filgood777 (реклама, сотрудничество)
Включи монетизацию своего TG-канала или сайта через РСЯ и получай пассивный доход. Подключиться по https://ya.cc/B2UP8W
Post #1802
503
НА @our_computer
Showing posts older than #1803 · Back to latest
Forwarded from Linux Club
Forwarded from Ленивый вайб-программист


Forwarded from Linux Club
.log, изменённые более чем N дней назад.
#!/usr/bin/env bash
#
# Архивация старых логов >7 дней
# Сохраняет в /var/backups/logs/YYYY-MM-DD_logs.tar.gz
# Настройки
LOG_DIR="/var/log" # Каталог с логами
BACKUP_DIR="/var/backups/logs" # Куда складывать архивы
DAYS_OLD=7 # Возраст файлов в днях
# Создаём папку для бэкапов, если нет
mkdir -p "$BACKUP_DIR"
# Текущая дата
DATE=$(date '+%Y-%m-%d')
# Найти *.log старше N дней и упаковать в архив
find "$LOG_DIR" -type f -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$" \
-mtime +"$DAYS_OLD" -print0 | \
tar --null -czf "$BACKUP_DIR/${DATE}_logs.tar.gz" --files-from -
# Проверка успешности и удаление исходников
if [[ $? -eq 0 ]]; then
echo "✅ Архив создан: $BACKUP_DIR/${DATE}_logs.tar.gz"
# Удаляем старые логи
find "$LOG_DIR" -type f -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$" \
-mtime +"$DAYS_OLD" -delete
echo "🗑 Оригиналы удалены."
else
echo "❌ Ошибка при создании архива!"
exit 1
fi
find … -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$".log.-mtime +7 выбирает файлы старше 7 дней.tar --null --files-from - позволяет безопасно работать с именами, содержащими пробелы.-delete в find.
0 2 * * * /usr/local/bin/archive_logs.sh >> /var/log/archive_logs_cron.log 2>&1