Скрипт ежедневного бекапа Mysql (основано на этом)
#!/bin/bash # Created by Dmitry # based on solution from http://carrotplant.com/en/blog/how-to-dump-all-mysql-databases-into-separate-files USER="root" PASSWORD="root" OUTPUTDIR="/home/dmitry/Backups/mysql_everyday_backup2/" GZIP_ENABLED=1 MYSQLDUMP="/usr/bin/mysqldump" MYSQL="/usr/bin/mysql" if [ ! -d "$OUTPUTDIR" ]; then mkdir -p $OUTPUTDIR fi OUTPUTDIR_CURRENT=$OUTPUTDIR/backup_$(date '+%Y-%m-%d_%T') if [ ! -d "$OUTPUTDIR_CURRENT" ]; then mkdir -p $OUTPUTDIR_CURRENT fi # get a list of databases databases=`$MYSQL --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"` # dump each database in turn for db in $databases; do echo $db if [ $GZIP_ENABLED == 1 ]; then $MYSQLDUMP --force --opt --user=$USER --password=$PASSWORD --databases $db | gzip > "$OUTPUTDIR_CURRENT/$db.gz" else $MYSQLDUMP --force --opt --user=$USER --password=$PASSWORD --databases $db > "$OUTPUTDIR_CURRENT/$db.sql" fi done
Теперь только в cron прописываем:
0 0 * * * /home/dmitry/mysqlbackup2
Свежие комментарии