Материал из Wiki.VDSPlanet.ru.
Самое главное надо заметить что mysqlhotcopy будет работать только с таблицами MyISAM или ARCHIVE.
Простота mysqlhotcopy в основном заключается в результате того что происходит простое копирование таблиц в виде файла, который в дальшейшем может быть восстановлен простоым его копированием/перемещением. Нет нужды восстанавливать структуру таблиц и переносить информацию. В добавок. если вы работаете с таблицами больших размеров то mysqlhotcopy - это ваш выбор. Для более подробной информации по mysqlhotcopy можно обратиться к следущий статье: http://dev.mysql.com/doc/refman/5.0/en/mysqlhotcopy.html
Это забэкапит избранные базы с сожмет их в gzip. Далее будет следить за результатами и сохранит в общей сложности до 4 недель backups. Все что надо сделать так это изменить три строки ниже. DBNAME это имя баз данных кторые будут сохранеты и их может быть любое количество написанное через запятую. Пример: DBNAME=mysql, mysql2 , mysql3
#!/bin/sh
DBNAME=mysql
USER=root
PASS=rootpass
if [ -x /usr/bin/mysqlhotcopy ]
then
# Создать копию баз данных в /var/lib/_old
mysqlhotcopy -u $USER -p $PASS $DBNAME --allowold --quiet
# Сжать в tar temp файл
cd /var/lib/mysql
tar -czf /usr/backup/$DBNAME.tar.gz.temp $DBNAME/
# Если tar temp файл создан,
# Смотрим на предыдушие файлы -- и оставляем последние 4 недели
if [ -s /usr/backup/$DBNAME.tar.gz.temp ]
then
savelog -l -q -c 4 /usr/backup/$DBNAME.tar.gz
mv /usr/backup/$DBNAME.tar.gz.temp /usr/backup/$DBNAME.tar.gz
fi
fi
Если вы хотите использовать данный скрипт на вашем сервере как /home/root/mysqlbackup тогда вы можете автоматизировать процесс с помошью cron job. То что ниже будет запускать данный скрипт каждый день в 4 утра, если внесено в crontab.
0 4 * * * /home/root/mysqlbackup

