Скрипт резервного копирования предназначен для создания возможности полного восстановления каким-либо образом потерянных файлов.
Что делает?
Запускается через Cron и делает следующее:
1. Выполняет указанные при настройке скрипты, например для остановки MySQL.
2. Архивирует указанные каталоги. Ежедневные архивы хранятся неделю. Еженедельные архивы хранятся месяц. Ежемесячные архивы хранятся 2 года.
3. Выполняет указанные при настройке скрипты, например для запуска MySQL.
Требования
Бекап необходимо хранить строго на отдельном диске. В ОС должен быть bash, tar и gzip.
Как установить?
Скачиваем скрипт и копируем, например, в /usr/local/bin/backup.sh. Если вы откроете скрипт текстовым редактором, то увидите прямо в начале следующие параметры:
BACKUPDIR — это то куда будут сохраняться бекапы. Я, например, примонтировал терабайтный диск в /ub1, создал там каталог backup и туда у меня сливаются бекапы.
WORKDIR — это родительский каталог тех каталогов в которых хранятся данные, у меня он /u01
INCLUDE — подкаталоги WORKDIR, которые необходимо бекапить. Мне, например, надо делать бекап /u01/mysql и /u01/share, поэтому я пишу «mysql share»
EXCLUDE — то что не нужно включать в бекап. Я, например, не включаю /u01/share/Pomoika и /u01/share/Trash, поэтому я пишу «share/Pomoika.* share/Trash/*»
RUN_BEFORE_X — это команды shell которые надо выполнить перед бекапом. Здесь X — это число от 1 до 99, то есть перед бекапом можно выполнить 99 различных команд. Например, если я хочу остановить mysql перед бекапом, то пишу RUN_BEFORE_1=»/etc/init.d/mysql stop».
RUN_AFTER_X — команды, которые надо выполнить после бекапа.
Установив параметры, запустите скрипт и посмотрите как он делает бекап, туда ли и то ли что надо. После этого, заставляем cron запускать скрипт автоматически в час ночи, добавив файл /etc/cron.d/backup, содержащий следующую строчку:
00 01 * * * root /usr/local/bin/backup.sh
Где скачать?
Какие изменения были от версии к версии?
2011.12.01 — Первоначальная версия, обкатанная, проверенная.