Раньше у меня был сервер с ежечасным / ежедневным резервным копированием, все легко доступны благодаря этому хорошему учебнику. К сожалению, упомянутый сервер жареный и теперь я должен сделать свои резервные копии на NAS , который не запускается 1 моего любимый Линукс вкуса. Случилось так, что мое предыдущее решение не работало на указанном NAS, потому что его бинарный пакет предлагает меньше возможностей.
Тем не менее, я считаю, что hourly.n
- ужасные имена для резервных копий. Я бы предпочел, чтобы они были отформатированы как horaire_YYYY_MM_DD_HHhMM
2, чтобы пользователи сразу знали, когда была сделана резервная копия.
Я хочу хранить 24-часовые резервные копии, а не ежедневные. Обратите внимание, что я не хочу хранить ежечасные резервные копии только в течение последних 24 часов; если по какой-то причине 3 было пропущено несколько резервных копий, я все равно хотел бы сохранить 24 резервных копии, даже если некоторые из них старше одного дня.
Вот как я это делал:
ls --format=single-column --directory --sort=time $(scheme "*") \
| tail --lines +$((backup_count + 1)) \
| xargs --verbose --delimiter="\n" rm -rf
scheme
- это просто функция, обеспечивающая правильное форматирование резервной копии каталога, в том числе даты. Здесь используется с *
для сопоставления каждой почасовой резервной копии. ls
перечисляет каждый почасовой каталог резервных копий, сортирует его в обратном порядке по времени создания 4, tails
отбрасывает 24 новых и xargs
удаляет оставшиеся.
Теперь я должен убедиться, что я использую только параметры POSIX. Я впервые пошел с:
ls -1 -d -t "$(scheme \*)" \
| tail -n +$((backup_count + 1)) \
| sed 's/\n/\0/g' \
| xargs -0 rm -rf
но ls
не расширяет *
; Я заменил его на find
, но понятия не имею, как отсортировать результаты по дате создания. Интересно, смог бы я также полностью обойти tail
благодаря функции find
, которая, вероятно, в любом случае является правильным инструментом для решения этой задачи.
Как я могу запустить команду для каждого почасового резервного копирования, который не является одним из 24 последних?
- Ну, возможно, возможно, но это будет означать отказ от всех удобных инструментов и поддержки, предоставляемой поставщиком NAS, который нам не нужен.
horaire
вместоhourly
потому что пользователи и я - говорящие на французском языке.- Сервер резервного копирования должен быть отключен на один день, потому что он должен быть перемещен, например
- Алфавитный порядок, вероятно, мог бы быть таким же хорошим, если бы даты игнорировали летнее время, что было бы неудачным, но приемлемым компромиссом.