KAN`ский блог
Мысли вслух…
-
Янв6
Как сделать бакап (Backup) важных файлов в FreeBSD
Filed under: Без рубрики;Итак, имеем веб-сервер на freebsd c mysql, firebird, postgresql и svn
Нужно всё это забакапить…Делаем исполняемый файл на sh#!/bin/sh # rm -f -r /home/kan/tmp/* #папка куда будут кидаться временные файлы
#MySQL /usr/local/bin/mysqldump -uroot -pПАРОЛЬ all > /home/kan/tmp/all.sql /usr/local/bin/mysqldump -uroot -pПАРОЛЬ events > /home/kan/tmp/events.sql
#PostgreSQL PGPASSWORD=ПАРОЛЬ export PGPASSWORD /usr/local/bin/pg_dump -U pgsql ishop > /home/kan/tmp/ishop.sql unset PGPASSWORD
#FireBird cd /usr/firebird for filename in *.FDB do echo "back up" $filename /usr/local/firebird/bin/gbak -b /usr/firebird/$filename /home/kan/tmp/$filename.fbk -user SYSDBA -pass ПАРОЛЬ done
#SVN mkdir -p /home/kan/tmp/repositories/ cd /home/svn/repositories for filename in * do echo "back up" $filename /usr/local/bin/svnadmin hotcopy /home/svn/repositories/$filename /home/kan/tmp/repositories/$filename --clean-logs done
#Переменная дабы хранить бакапы по датам BACKUPFILE=$(date +%Y-%m-%d) archive=$BACKUPFILE
#архивируем все базы tar -czvf /home/kan/fbackup-$archive.tgz /home/kan/tmp/
#www tar -czvf /home/kan/www-$archive.tgz --exclude='*/.svn/*' --exclude='*/cache/*' --exclude='*/apache22/*' --exclude='*/lib/*' /usr/local/www/
#www-log tar -czvf /var/log/www-$archive.tgz /var/log/www/ rm -f /var/log/www/* /usr/local/etc/rc.d/apache22 restart
#удалить устаревшие файлы, 5ти дневной давности BACKUPFILE=$(date -v-5d +%Y-%m-%d) archive=$BACKUPFILE rm -f /var/log/www-$archive.tgz rm -f /home/kan/fbackup-$archive.tgz rm -f /home/kan/www-$archive.tgz echo "backup done!"
Под рутом делаем задание, исполнить наш файл в 2ч 7м:
crontab -u root -eSHELL=/bin/sh HOME=/root MAILTO=root 7 2 * * * /root/mycronjob > /root/last.log
Смотрим есть ли задание
crontab -u root -l