Решил поделиться с Вами своим скриптом для автоматического бекапа баз данных MySQL.

Особенности:

  1. Бекапы хранятся в папке /home/mysql_backup. Переменная db_backup_dir.
  2. Все бекапы имеют вид: backup-db1-30-05-2011-13:44.gz
  3. В переменной db_list вынесен список баз данных, бекапы которых мне нужны.
  4. Скрипт автоматически удаляет бекапы, которые старше 2-х дней. Переменная remove_old_files.

mysql_backup.sh

#!/bin/bash

#setting
db_user="root"
db_pass="pass"
db_host="localhost"
db_list="db1 db2 db3 db4"
db_backup_dir="/home/mysql_backup"
remove_old_files=2
now=$(date +%d-%m-%Y-%H:%M)

for db in $db_list; do

file=$db_backup_dir/backup-$db-$now.gz
mysqldump -u $db_user -h $db_host -p$db_pass $db | gzip -9 > $file

done

find $db_backup_dir -type f -mtime +$remove_old_files -exec rm {} \;

В /etc/crontab добавляем (скрипт будет выполняться ежедневно в 3:00):

0  3    * * *   root    /путь_к_скрипту/mysql_backup.sh

Если кому нужно, могу рассказать как отправлять бекапы на удалённый сервер по ftp 🙂

Недавно подбирал себе телефон и нашёл отличный каталог. мобильные телефоны самсунг каталог

Подписываемся на обновления блога по Email:

Введите адрес электронной почты



Метки: , ,

6 комментариев


  1. michael on 16 Июл 2011

    не могли бы выложить скрипт который делает бекап баз и папок сайта и заливает на ftp

    • admin on 16 Июл 2011

      Ок, выложу в новом посте. Подписывайтесь на RSS 🙂

  2. Евгений on 20 Июл 2011

    Спасибо за скрипт, но я присоединяюсь с просьбе по поводу бэкапа файлов и отправки их по FTP.
    Уже два дня ищу простое решение, но к своему удивлению в интернете нет таких скрипттов, то есть всёнужно каким то образом доделывать переделывать, собирать из кусков и прочее.
    Причём приграммисты пишут для программистов, а вотдля простых юзеров ничего простого и работающего нет.
    Если у Вас получится сделать простой скрипт который просто бы бэкапил файлы + базы данных и отправлял по FTP это было бы супер.
    Я готов за такой скрипт и заплатить, главное чтобы он был простым, понятным и рабочим.
    Спасибо.

  3. Andrei on 16 Янв 2014

    mput backup-16-01-2014-18-48.tar.gz? backup-16-01-2014-18-48.tar.gz: Permission denied

    не иогу разабраца


Оставьте свой комментарий