К вопросу о резервном копировании …
posted in NIX, Полезности, Программирование |Небольшое лирическое отступление:
Окончательно я утвердился в мнении что, совсем я не писатель — до Давыдова и Майнаса как до Китая пешком 🙂 Поэтому дабы не давить из себя непонятно что, пришел к выводу — делать посты по своей же текущей работе. Т.е. выводить в свет те проблемы и решения которые меня в данный момент занимают. Данный вывод позволил увидеть мир нижеследующему посту 🙂
Итак — у многих есть дедики, хостинг всякий, впс-ы. На них естественно куча всякого очень важного и нужного софта — блоги, парсилки, спамилки и т.д. и т.п. (Кстати совсем не давно читал жалобный пост — у чела полетел винт, пришлось блог с нуля восстанавливать — сочувствую). Всё это дело храниться просто в виде файлов, а так же в базах данных (как правило 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