Я использую этот скрипт для бэкапа баз данных, запускаю по крону в 5 утра
MyUSER="root" # USERNAME
MyPASS="****" # PASSWORD
MyHOST="localhost" # Hostname
MYSQL="/usr/local/bin/mysql"
MYSQLDUMP="/usr/local/bin/mysqldump"
GZIP="/usr/bin/gzip"
# директория куда сохраняются дампы
DEST="/backups/sql"
# дата в виде yyyy-mm-dd
NOW="$(/bin/date +"%Y-%m-%d")"
# переменная для файла
FILE=""
# переменная со списком баз
DBS=""
# получаем список всех баз данных
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
for db in $DBS
do
echo "$db"
FILE="$DEST/$db.$NOW.gz"
# А делается все через обычный mysqldump, просто автоматизировано :)
$MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP > $FILE
done