Автоматизация бэкапа БД с помощью mysqldump

автоматический бэкап с помощью mysqldumpВ дополнение mysqldump примерам хотелось бы привести пример реализации автоматического бэкапа базы данных. Он будет реализован на простом shell скрипту. Который удобно настраивается, что позволяет делать бэкапы ежедневно, еженедельно, ежемесячно. Процесс дампа осуществляется с помощью программы mysqldump. Скачать shell скрипт вы можете у нас automysqlbackup.

После скачивания и распаковки архива настраиваем работу скрипта: automysqlbackup.conf. Файл на английском, но при помощи переводчика все становится понятно.

Но здесь одна проблема: не хочется использовать чужие скрипты на собственном сервере, поэтому, попробуем написать собственный скрипт для автоматизации бэкапов БД. Будем использовать известную нам программу mysqldump. Сделаем так, что-бы скрипт сохранял копию через FTP на удаленный сервер. Вот собственно пример скрипта, назовем его backup.sh:

#!/bin/sh

Date=`date +%d%m%y`

 LastDay=`date -v-7d +%d%m%y`

 ArcCmd="/usr/bin/tar -cjpvf"

 ArcDir="/root/backups" #директория в которую будут сохранятся резервные копии

 City="GorodX" #город, для удобства

 bzip2="/usr/bin/bzip2"

 mysqldump="/usr/local/bin/mysqldump"

 lftp="/usr/local/bin/lftp"

 user="userdb" #пользователь БД

 passwd="passwddb" #пароль пользователя БД

 FtpUser="username" #пользователь фтп

 FtpPass="password" #пароль

 FtpServ="**.**.**.**" #ip сервера

 email="[email protected]"

 $mysqldump -u $user --password=$passwd -l --all-databases | $bzip2 -c -9 > $ArcDir/$City-DB-$Date.sql.bz2

 /usr/local/bin/lftp -u $FtpUser,"$FtpPass" -e "mput -O /$D/ $ArcDir/$City-DB-$Date.sql.bz2; rm $City-DB-$LastDay.sql.bz2; exit" $FtpServ

 rm $ArcDir/$City-DB-$LastDay.tar.bz2

 echo "Backup DB $City finished" | mail -s "DB $City" $email

После завершения бэкапа, скрипт отправляет письмо на адрес прописанный у скрипте. Дляработыскриптанеобходим lftp:

# cd /usr/ports/ftp/lftp/ && make install clean && rehash

Делаем скрипт исполняемым:

# chmod +x backup.sh

И автоматизируем с помощью добавления задания в CRON:

# crontab -e 0 4 * * * /root/backup.sh

Скрипт backup.sh будет запускаться в 4 часа ночи ежедневно. Что может быть лучше? Разве что дописать скрипт, чтобы отправлял ошибки и копию БД на email. Но это в будущем.



Дальше: Определить ajax запрос на PHP


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 7467
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price