Резервное копирование

Материал из Школьный портал: справочника
Перейти к: навигация, поиск

Организация ежедневного резервного копирования баз данных со сжатием и чисткой копий старше 30 дней.

Рецепт для Ubuntu

sudo bash
mkdir -p /home/db-backups
chmod 755 /home/db-backups
chown root:root /home/db-backups
apt-get -y --force-yes install p7zip-full

# разовое выполнение резервного копирования делается так:
/usr/bin/7z a -mx5 /home/db-backups/gdb-$(date +%F).7z /opt/xxi/data/

Занесение в расписание: откройте файл /etc/crontab и допишите туда:

# ----------------------------------------
# Databases Backups
# ----------------------------------------
0 0 * * * root  /usr/bin/7z a -mx5 /home/db-backups/gdb-$(date +\%F).7z /opt/xxi/data/
0 0 * * * root  /usr/bin/find /home/db-backups -name "*.7z"  -mtime +30 -exec rm -f {} \;

Рецепт для Mandriva

Отличается командой установки 7-Zip:

urpmi p7zip

и именем исполняемого файла 7-Zip: не 7z, а 7za.

Если нет 7-Zip

Можете использовать tar:

tar -czf /home/db-backups/gdb-$(date +\%F).tar.gz /opt/xxi/data/

Команда в crontab для очистки архивов старше 30 дней будет выглядеть иначе:

0 0 * * * root  /usr/bin/find /home/db-backups -name "*.gz" -mtime +20 -exec rm -f {} \;

Суть изменения в том, что удаляются не файлы *.7z, а *.gz