#!/bin/bash
DIR="/var/log" # Директория, в которой очищаем файлы
DAYS=30 # Количество дней, после которых файлы считаются устаревшими
LOGFILE="/var/log/cleanup.log"
# Поиск и удаление файлов старше N дней
find "$DIR" -type f -mtime +"$DAYS" -exec rm -f {} \;
# Запись информации о выполнении в лог
echo "$(date '+%Y-%m-%d %H:%M:%S') - Удалены файлы старше $DAYS дней из $DIR" >> "$LOGFILE"
📌 Разбор скрипта:
-
find "$DIR" -type f -mtime +"$DAYS" — ищет файлы (-type f), изменённые более $DAYS дней назад.-
-exec rm -f {} \; — удаляет найденные файлы.-
echo "$(date ...)" >> "$LOGFILE" — записывает в лог дату и время очистки.🔥 Добавьте этот скрипт в
cron, чтобы автоматизировать процесс:
0 3 * * * /path/to/cleanup.sh
Этот
cron-запуск удалит старые файлы каждую ночь в 3:00. 👉 @i_linux