Резервное копирование WordPress скриптом в автоматическом режиме.

Янв 21st, 2010 | Posted by | Filed under internet, Linux, PC, Sites, Software, Ubuntu

Предполагаем, что у нас имеется некий Ubuntu сервер, с LAMP, на который водружена система WordPress. Нужен скрипт, который мог бы делать резервное копирование:

  1. Базы данных WordPress;
  2. Директории сайта Apache /var/www;
  3. Настроек системы /etc.

Выгрузку будем делать командой mysqldump, Архивирование будем производить командой tar сразу в формат .tar.bz2. Сохранять будем локально и на внешний накопитель, например, USB Flash, причём локально будем сохранять много резервных копий, а на USB Flash — только последнюю, чтобы не занимать много места.Текст скрипта bksites.sh:

#!/bin/sh
mysqluser=SQLUSER
mysqlpass=SQLPASS
wpdb=WORDPRESSDATABASENAME
bkpath=PATHTOBACKUPSTORAGE
ext=PATHTOEXTERNALBACKUPSTORAGE
name=FILEPREFIX
www=/var/www*
bk=$name`date +%Y.%m.%d-%H.%M.%S`
mysqldump -u $mysqluser -p$mysqlpass $wpdb>$bkpath/$bk.dmp
tar -cjf $bkpath/$bk.tar.bz2 $www /etc $bkpath/$bk.dmp
rm $bkpath/$bk.dmp
rm $ext/$name*.tar.bz2
cp $bkpath/$bk.tar.bz2 $ext/

Скрипт нужно сохранить под именем bksites.sh, дать ему права на запуск и запретить обычным пользователям доступ к нему (в нём хранится имя пользователя и пароль на базу WordPress):

chmod +x ./bksites.sh
chown root:root ./bksites.sh

Для запуска по расписанию скрипт нужно скопировать в cron.hourly, cron.daily, cron.weekly или в cron.monthly в зависимости от того, как часто вы хотите делать резервное копирование. Я считаю, что наилучший вариант — ежедневное резервное копирование. Но если вы пишете несколько сообщений в час, то можно сделать и ежечасный запуск скрипта.

Внутри архива получается три директории — var, etc и PATHTOBACKUPSTORAGE, в последней из которых лежит файл с дампом базы WordPress.

Это мой авторский материал, воспроизводить его где-либо без моего согласия не разрешается. Давать ссылку на сайт – пожалуйста!

No comments yet.