Предполагаем, что у нас имеется некий Ubuntu сервер, с LAMP, на который водружена система WordPress. Нужен скрипт, который мог бы делать резервное копирование:
- Базы данных WordPress;
- Директории сайта Apache /var/www;
- Настроек системы /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.
Это мой авторский материал, воспроизводить его где-либо без моего согласия не разрешается. Давать ссылку на сайт – пожалуйста!