У меня много резервных копий, например:
backup-20130528_054504_mysql.tar.gz,
bill_db_201305290130.BAK.bz2,
etc_20130412.tbz
Это полные резервные копии, которые делаются каждый день.
До сегодняшнего дня у меня была задача cron с такой командной строкой:
/usr/bin/find /media/backups -ctime +7 -delete
Но это была плохая идея.
Один сервер перестал делать новые резервные копии (файловая система была заполнена) более 7 дней назад, а все старые резервные копии были удалены cron.
Возможно, мне понадобится новый сценарий вместо этого "find -ctime", который в любом случае будет хранить некоторые старые резервные копии.
Все мои файлы резервных копий имеют имена {unique_prefix}ГГГГММДД...
Я хочу что-то вроде:
для каждого {unique_prefix}.
Все эти файлы загружаются на мой сервер cron через rsync, ssh и т. Д.
Я не люблю изобретать велосипед, и уверен, что это типичная задача.
Пожалуйста, укажите мне решение.
Сценарий оболочки может обрабатывать резервные копии до определенной степени сложности. У вас также есть инструменты, которые используют tar
и rsync
для выполнения еще более сложных задач (rsnapshot
, например).
Однако похоже, что вам нужен очень мелкозернистый резервное копирование и удержание политика, для обработки которой сценарий оболочки может не подходить, если только он не является излишне сложным и другие упомянутые инструменты не предоставляют.
Вам следует подумать об использовании специального программного обеспечения для этой задачи. Их много, но бакула и Аманда приходить на ум.
Я не согласен с даудом и считаю, что лучше всего использовать простые резервные копии.
какой ты на самом деле нужен не более умный способ удаления вещей (хотя это было бы неплохо, я написал нечто подобное, которое просто сохраняет последние N резервных копий), а надлежащий мониторинг вашей файловой системы, чтобы вы заметили, что она заполняется задолго до это так, и вы можете действовать. Так вы не потеряете свои данные.