Удаление файлов с определёнными параметрами в Linux

При установке Астериска в нашей компании встало несколько задач по сортировке и удалению файлов по параметрам. Первый параметр — определённый размер файлов, второй параметр — дата создания. В статье памятка и итоговый скрипт. Здесь памятка и итоговый cron скрипт. 

Удаление файлов по размеру осуществляется следующим образом: 

find . -size 44c -type f -delete

Команда предназначена для текущей директории. Тестировалось на файлах, названия которых содержат пробел.

Удаление файлов по дате осуществляется следующим образом: 

find . -mtime +90 -type f -delete

&Команда предназначена для текущей директории. Тестировалось на файлах, названия которых содержат пробел.

Итоговый cron скрипт для удаления файлов Астериска:

# asteriskclean.sh
# chmod it to 0644

HELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

#Let's delete records older than 90 days

0 22 * * * root find /var/lib/asterisk/records/ -mtime +90 -type f -delete

#Let's delete records that did not start.
0 22 * * * root find /var/lib/asterisk/records/ -size 44c -type f -delete

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *