Июль 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), благо объемы гугловского ящика позволяют.
