.
21 сентября 2007

К вопросу о резервном копировании ...

posted in NIX, Полезности, Программирование |

BackupRecovery

Небольшое лирическое отступление:

Окончательно я утвердился в мнении что, совсем я не писатель — до Давыдова и Майнаса как до Китая пешком :) Поэтому дабы не давить из себя непонятно что, пришел к выводу — делать посты по своей же текущей работе. Т.е. выводить в свет те проблемы и решения которые меня в данный момент занимают. Данный вывод позволил увидеть мир нижеследующему посту :)

Итак — у многих есть дедики, хостинг всякий, впс-ы. На них естественно куча всякого очень важного и нужного софта — блоги, парсилки, спамилки и т.д. и т.п. (Кстати совсем не давно читал жалобный пост — у чела полетел винт, пришлось блог с нуля восстанавливать — сочувствую). Всё это дело храниться просто в виде файлов, а так же в базах данных (как правило MySQL).

Дабы всё это чудо в один прекрасный момент не погибло на умершем винте необходимо регулярно бэкапить. Конечно же существует масса софта для подобного действа, но я предпочитаю свой родной самописный скриптик + крон.

Не буду более томить — «Скрипт в студию!»:

(Данный скриптик бэкапит сей блог (файлы и базу) и копию скидывает на FTP)

#!/bin/bash
curdat=$(date +%Y%m%d)

ftp_serv=фтп сервер

ftp_user= фтп логин
ftp_pass= фтп пасс

mysql_user= бд логин
mysql_pass= бд пасс
mysql_db= имя бд

basebackup=dbdump.$curdat.tar.gz
filebackup=engine.$curdat.tar.gz

clear

mysqldump -hlocalhost -u$mysql_user -p$mysql_pass $mysql_db > dump.sql
tar -czvf $filebackup /полный путь что бэкапим
tar -czvf $basebackup ./dump.sql
rm ./dump.sql -f

ftp -n << EOF
open $ftp_serv
passive off
user $ftp_user $ftp_pass
put $filebackup
put $basebackup
quit
EOF

Кидаем в крон на ежечасное/ежесуточное/как захотите выполнение и вуаля :)

Что то типа такого

cd /var/www/...полный путь до директории с скриптом.../backup; /bin/bash backup.sh >/dev/null

Яндекс.Метрика