ЗонаОбъектноОриентированногоБеспредела

Июль 13, 2005

Mysql backup

Наконец-то дошли руки прикрутить бэкап mysql базы на своем хостинге. За основу был взят уже упоминавшийся ранее материал.

В подробности особо вдаваться не буду, скажу только, что с полпинка perl-овый скрипт у меня не завелся, поэтому был использован аналог на PHP.

Итак, shell-скрипт:

#!/bin/sh
T=$(date +"%Y_%m_%d-%H_%M_%S")
mysqldump --user=username --password=password database_name >backup_$T.sql
tar -zcvf mysql_backup.tgz *.sql
rm *.sql
php send.php
rm *.tgz

В качестве отправлятеля почты с аттачментами была взята первая попавшаяся библиотека.

Далее код send.php:

<?php
        include("sendmail.class.php");
        $mail = new sendmail();
        $mail->SetCharSet("UTF-8");
        $mail->from("mysql_backuper","email_from@myhost.ru");
        $mail->to(email_to@myhost.ru);
        $mail->subject("Database backup [".date(’j.m.Y G:i:s’)."]");
        $mail->text("see attachment");
        $mail->attachment("mysql_backup.tgz");
        $mail->send();
?>

После этого остается только зашедулить задание. Я себе поставил бэкап три раза в неделю (0 0 * * 1,3,5), благо объемы гугловского ящика позволяют.