Теперь же захотелось попробовать автоматический бэкап баз данных, файловой системы, вернее отдельных каталогов, в которых находятся важные конфиги, и дальнейшей отправки всего этого хозяйства на сторонний ftp серверок. Плюс к этому добавить в планировщик задания, дабы все это дело происходило без моего вмешательства.
Источники для этого я использовал этот и этот. Ничего не украл, просто немного допилил для себя, чтобы все работало без запинки. Итак пример конфигов.
Для Мускула:
Т.К. мне надо было все базы разом, я заюзал пользователя root. В принципе здесь все понятно, останавливаться на описании каждой опции не имеет смысла. Создайте файл с любым именем и:
backup-mysql.sh
#!/bin/sh BACKUP=/data/backup/mysql MUSER="root" MPASS="пароль" MHOST="localhost" FTPD="infoblog.ws-mysql" FTPU="имя пользователя" FTPP="пароль" FTPS="info.serveblog.net" TAR="$(which tar)" GZIP="$(which gzip)" FTP="$(which ftp)" MYSQL="$(which mysql)" MYSQLDUMP="$(which mysqldump)" NOW=$(date +"%d%m%y") mkdir $BACKUP/$NOW DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')" for db in $DBS do mkdir $BACKUP/$NOW/$db FILE=$BACKUP/$NOW/$db/$db.sql.gz echo $i; $MYSQLDUMP --add-drop-table --allow-keywords -q -c -u $MUSER -h $MHOST -p$ done ARCHIVE=$BACKUP/infoblog.ws-$NOW.tar.gz ARCHIVED=$BACKUP/$NOW $TAR -zcvf $ARCHIVE $ARCHIVED cd $BACKUP DUMPFILE=infoblog.ws-$NOW.tar.gz $FTP -n $FTPS <<END_SCRIPT quote USER $FTPU quote PASS $FTPP prompt off binary cd $FTPD quote PASV mput $DUMPFILE quit END_SCRIPT rm -rf $ARCHIVED
Теперь необходимые папки для бэкапа. В принципе можете запихнуть необходимые Вам названия каталогов, на вкус и цвет
backup-fs.sh
#!/bin/sh BACKUP=/data/backup FTPD="infoblog.ws-fs" FTPU="пользователь" FTPP="пароль" FTPS="info.serveblog.net" TAR="$(which tar)" GZIP="$(which gzip)" FTP="$(which ftp)" FILE="/etc /usr/local/etc" NAME=$(date +"%d%m%y") tar -cPjf /data/backup/infoblog.ws_fs-${NAME}.tar.bz2 ${FILE} cd $BACKUP DUMPFILE=infoblog.ws_fs-$NAME.tar.bz2 $FTP -n $FTPS <<END_SCRIPT quote USER $FTPU quote PASS $FTPP prompt off binary cd $FTPD quote PASV mput $DUMPFILE quit END_SCRIPT
Теперь планировщик! Шлепаем crontab -e и вставляем или пишем:
0 4 * * * /bin/sh /root/backup.sh 0 4 * * * /bin/sh /root/backup-fs.sh
Я файлики запихал в рутовую папку. Выполняться эти задания будут в 4 утра каждый день. Я пока не менял. Потом сделаю, чтобы бэкап папок выполнялся раз в неделю, а базы пусть бэкапятся ежедневно.
Чтобы просмотреть список уже созданных в кроне задач:
#crontab -l
Комментариев: 1 RSS
1Дмитрий28-06-2013 08:35
хохо спасибо друг - тоже тут озадачился бекапом Мускула
Думал может есть шаблон - теперь настрою все ручками.
Успеха!
Вы можете войти под своим логином или зарегистрироваться на сайте.