При установке Астериска в нашей компании встало несколько задач по сортировке и удалению файлов по параметрам. Первый параметр — определённый размер файлов, второй параметр — дата создания. В статье памятка и итоговый скрипт. Здесь памятка и итоговый 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