У меня есть пара сценариев bash, 1, которая создает дамп mysql и вторая, чтобы очистить старые резервные копии .
Я всегда полагался на дату, поэтому все файлы старше 7 дней удаляются, а новые резервные копии создаются ежедневно. Результатом стал набор резервных копий 7 дней назад.
Хорошо, теперь, когда у меня есть 20+ дБ Я разделил эту ежедневную работу на ежедневную и еженедельную. Если я продолжу использовать метод поиска и даты, я потеряю прошедшую неделю.
ВОПРОС
Как можно отсортировать результаты поиска по дате, а затем очистить все, кроме самого последнего 7. (поэтому, даже если самому последнему 2 месяца, оно остается)
Это насколько я понял, но это не так, как ожидалось. Возможно, использование ls может быть лучшим выбором. 9find - это остаток от использования даты в качестве единственного критерия очистки)
OLDFILES=`find -regex .*sql.*`
set -- $OLDFILES
if [ -z $1 ]
then
printf "\tNo files matching purge criteria\n" | tee -a $LOGFILE
else
printf "\tSQL Files being Delete from $HERE\n" | tee -a $LOGFILE
printf "\t\t%s\n" $OLDFILES | tee -a $LOGFILE
fi
# $RETAIN is the # of recent to keep
# so I want to grab a subset from 0 to (total - retain), and purge them
TOBURN=$(( $# - $RETAIN ))
printf " grab first %s files. %s - %s" $TOBURN $# $RETAIN
if [ $TOBURN -gt 0 ]
then
TOPURGE=("$@:0:$TOBURN")
printf "\n\nREMOVING..\n\t\t%s\n" $TOPURGE
fi
Существующие файлы
./webbmaster_bellarose_joomla_01-09-2010.sql.gz
./webbmaster_bellarose_joomla_12-25-2009.sql.gz
./webbmaster_bellarose_joomla_01-10-2010.sql.gz
./webbmaster_bellarose_joomla_01-04-2010.sql.gz
./webbmaster_bellarose_joomla_01-25-2010.sql.gz
./webbmaster_bellarose_joomla_01-29-2010.sql.gz
./webbmaster_bellarose_joomla_12-30-2009.sql.gz
./webbmaster_bellarose_joomla_12-28-2009.sql.gz
./webbmaster_bellarose_joomla_01-06-2010.sql.gz
./webbmaster_bellarose_joomla_01-13-2010.sql.gz
./webbmaster_bellarose_joomla_01-24-2010.sql.gz
./webbmaster_bellarose_joomla_12-21-2009.sql.gz
./webbmaster_bellarose_joomla_12-24-2009.sql.gz
./webbmaster_bellarose_joomla_12-27-2009.sql.gz
./webbmaster_bellarose_joomla_01-26-2010.sql.gz
./webbmaster_bellarose_joomla_12-17-2009.sql.gz
./webbmaster_bellarose_joomla_01-03-2010.sql.gz
./webbmaster_bellarose_joomla_01-21-2010.sql.gz
./webbmaster_bellarose_joomla_01-20-2010.sql.gz
./webbmaster_bellarose_joomla_01-16-2010.sql.gz
./webbmaster_bellarose_joomla_12-31-2009.sql.gz
./webbmaster_bellarose_joomla_01-11-2010.sql.gz
./webbmaster_bellarose_joomla_01-05-2010.sql.gz
./webbmaster_bellarose_joomla_01-14-2010.sql.gz
./webbmaster_bellarose_joomla_01-22-2010.sql.gz
./webbmaster_bellarose_joomla_01-12-2010.sql.gz
./webbmaster_bellarose_joomla_01-17-2010.sql.gz
./webbmaster_bellarose_joomla_12-18-2009.sql.gz
./webbmaster_bellarose_joomla_12-20-2009.sql.gz
./webbmaster_bellarose_joomla_01-08-2010.sql.gz
./webbmaster_bellarose_joomla_12-22-2009.sql.gz
./webbmaster_bellarose_joomla_01-27-2010.sql.gz
./webbmaster_bellarose_joomla_12-23-2009.sql.gz
./webbmaster_bellarose_joomla_01-07-2010.sql.gz
./webbmaster_bellarose_joomla_12-26-2009.sql.gz
./webbmaster_bellarose_joomla_01-19-2010.sql.gz
./webbmaster_bellarose_joomla_12-29-2009.sql.gz
./webbmaster_bellarose_joomla_01-15-2010.sql.gz
./webbmaster_bellarose_joomla_01-28-2010.sql.gz
./webbmaster_bellarose_joomla_01-01-2010.sql.gz
./webbmaster_bellarose_joomla_01-18-2010.sql.gz
./webbmaster_bellarose_joomla_01-02-2010.sql.gz
./webbmaster_bellarose_joomla_01-23-2010.sql.gz
./webbmaster_bellarose_joomla_12-19-2009.sql.gz
Цели для очистки (которые я хочу установить в переменной для простого rm -f $ var)
./webbmaster_bellarose_joomla_01-09-2010.sql.gz
./webbmaster_bellarose_joomla_12-25-2009.sql.gz
./webbmaster_bellarose_joomla_01-10-2010.sql.gz
./webbmaster_bellarose_joomla_01-04-2010.sql.gz
./webbmaster_bellarose_joomla_12-30-2009.sql.gz
./webbmaster_bellarose_joomla_12-28-2009.sql.gz
./webbmaster_bellarose_joomla_01-06-2010.sql.gz
./webbmaster_bellarose_joomla_01-13-2010.sql.gz
./webbmaster_bellarose_joomla_12-21-2009.sql.gz
./webbmaster_bellarose_joomla_12-24-2009.sql.gz
./webbmaster_bellarose_joomla_12-27-2009.sql.gz
./webbmaster_bellarose_joomla_12-17-2009.sql.gz
./webbmaster_bellarose_joomla_01-03-2010.sql.gz
./webbmaster_bellarose_joomla_01-21-2010.sql.gz
./webbmaster_bellarose_joomla_01-20-2010.sql.gz
./webbmaster_bellarose_joomla_01-16-2010.sql.gz
./webbmaster_bellarose_joomla_12-31-2009.sql.gz
./webbmaster_bellarose_joomla_01-11-2010.sql.gz
./webbmaster_bellarose_joomla_01-05-2010.sql.gz
./webbmaster_bellarose_joomla_01-14-2010.sql.gz
./webbmaster_bellarose_joomla_01-22-2010.sql.gz
./webbmaster_bellarose_joomla_01-12-2010.sql.gz
./webbmaster_bellarose_joomla_01-17-2010.sql.gz
./webbmaster_bellarose_joomla_12-18-2009.sql.gz
./webbmaster_bellarose_joomla_12-20-2009.sql.gz
./webbmaster_bellarose_joomla_01-08-2010.sql.gz
./webbmaster_bellarose_joomla_12-22-2009.sql.gz
./webbmaster_bellarose_joomla_12-23-2009.sql.gz
./webbmaster_bellarose_joomla_01-07-2010.sql.gz
./webbmaster_bellarose_joomla_12-26-2009.sql.gz
./webbmaster_bellarose_joomla_01-19-2010.sql.gz
./webbmaster_bellarose_joomla_12-29-2009.sql.gz
./webbmaster_bellarose_joomla_01-15-2010.sql.gz
./webbmaster_bellarose_joomla_01-01-2010.sql.gz
./webbmaster_bellarose_joomla_01-18-2010.sql.gz
./webbmaster_bellarose_joomla_01-02-2010.sql.gz
./webbmaster_bellarose_joomla_12-19-2009.sql.gz
(даты 1/23 - 1/29 остаются без изменений)