Бэкап и ротация архивов
Создание бэкапа сайта заключается в архивировании его директории. Проблема таких бэкапов в том, что они постоянно накапливаются и не удаляются. Место под бэкап обычно имеет ограниченный размер, и когда оно закончится новый бэкап нам не сохранить.
Данный скрипт создает архив директории сайта и затем производит ротации уже созданных архивов. Вы можете указать сколько архивов за день, за неделю, за месяц хранить.
Особенность ротации данного скрипта, что он не использует команду find -mtime для определения удалять архив или нет. Минус такого метода в том, что в случае проблем с новыми архивами, используя mtime можно удалить все архивы. В нашем скрипте ротация производится именно по количеству бэкапов, а не времени их создания.
Скрипт производит ротация в локальном каталоге. Но это не проблема если подключать удаленное хранилище как локальную директорию. Скрипт был протестирован при монтировании ftp как curlftps и Amazon s3 как s3fs.
Для работы скрипта необходимо создания дерева каталогов
- daily
- weekly
- monthly
Скрипт является основой, которую можно просто доработать для своих целей. Собственно текст скрипта ниже: