Теперь же захотелось попробовать автоматический бэкап баз данных, файловой системы, вернее отдельных каталогов, в которых находятся важные конфиги, и дальнейшей отправки всего этого хозяйства на сторонний 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
хохо спасибо друг - тоже тут озадачился бекапом Мускула
Думал может есть шаблон - теперь настрою все ручками.
Успеха!
Вы можете войти под своим логином или зарегистрироваться на сайте.