Posted by & filed under python.

Скрипт ежедневного бекапа 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
Опубликовать в Facebook
Опубликовать в Google Plus

Leave a Reply

You must be logged in to post a comment.