Крон задача Site Backup

T

Trancef

Гость
наблюдаю ошибки вида [27-Mar-2012 06:33:33 UTC] PHP Warning: exec() has been disabled for security reasons in /home/путь/includes/cron/jobs/db_backup.php on line 12
 

SAVEX

Пользователь
Делюсь своим скриптиком. Может не самый лучший, но довольно полезный. По мимо бэкапа еще и отсылаем нам его по почте ;)

Код:
#!/bin/bash
#
 
# Язык (На тот случай, если при получении письма в теме у вас вопросы или крякозяблы)
export LANG=ru_RU.UTF-8
 
# Дата
DATA=`date "+%Y-%m-%d-%H-%M-%S"`
# Имя файла сайта
SITE_FILE=site_"$DATA".tar.gz
# Имя файла БД
SQL_FILE=sql_"$DATA".gz
# Путь куда сохраняем сам сайт
SITE_PATH=/root/backup/site
# Путь куда сохраняем БД
SQL_PATH=/root/backup/sql
# Почтовый адрес отправителя
FROM_MAIL="BitTorrent трекер - MediaEnter.Ru <[email protected]>"
# Почтовый адрес получателя (если необходимо на несколько адресов, то указываем через пробел)
SEND_MAIL="[email protected]"
 
# Сохранение и сжатие данных (меняем /var/www на свой каталог, USER на имя пользователя MySQL, соотвественно PASSWORD на свой пароль, PORT указываем порт конекта, у меня например это 3306, site_db ваша БД)
cd /var/www && tar -zcpf "$SITE_PATH"/"$SITE_FILE" *
mysqldump -uUSER -PPORT -hlocalhost -pPASSWORD site_db | gzip -c > "$SQL_PATH"/"$SQL_FILE"
 
# Отправка по почте
(uuencode "$SQL_PATH"/"$SQL_FILE" "$SQL_FILE"; uuencode "$SITE_PATH"/"$SITE_FILE" "$SITE_FILE";) | mail -r "$FROM_MAIL" -s "Резервная копия сайта от $DATA" "$SEND_MAIL"

В кроне стартует след. командой, пускаю пару раз в сутки.

Код:
cd /root && ./backup_sh >/dev/null 2>&1
 

SAVEX

Пользователь
Не, ну если так нужен сброс куда нить, то мона на сторонний ftp кидать. А по е-майлу тока отчеты о успешном бэкапировании.
 

SAVEX

Пользователь
Ну если разве что так :) А у меня серв в Германии, поэтому ток ftp подходит, а если в связке с rsync, вообще конфетка получится ^_^
 
Сверху