Всем привет. Нужно написать скрипт бэкапа. Погуглив на эту тему были найдены заготовки + добавлено свое.
Единственное, что не удалось победить это контроль за переполнением диска перед началом бэкапа. Перед тем как копировать настройки и снимать дамп с БД, нужно проверить сколько осталось свободного места и удалить самый ранний бэкап(весь каталог).
find $bdir -mindepth 1 -maxdepth 1 -type d -printf '%T@ %p\n' | sort -rnk1 | awk 'NR>5 { sub(/^\S+ /, "", $0); system("rm -r -f \"" $0 "\"")}'
В данной строке идет поиск по каталогу и удаляются каталоги если их больше 5.
Я же хочу всегда получать общее количество каталогов и удалять самый первый. Грубо говоря:
find $bdir -mindepth 1 -maxdepth 1 -type d -printf '%T@ %p\n' | sort -rnk1 | awk 'NR>$(ls /backup | wc -l -1) { sub(/^\S+ /, "", $0); system("rm -r -f \"" $0 "\"")}'
Помогите пожалуйста.