С автоматическим резервным копированием курсов все ясно, а как настроить бэкап всего сайта?
Т.е. надо перевести систему в режим ТО, сделать бэкап базы, потом папки moodle, а затем moodledata.
С автоматическим резервным копированием курсов все ясно, а как настроить бэкап всего сайта?
Т.е. надо перевести систему в режим ТО, сделать бэкап базы, потом папки moodle, а затем moodledata.
Собственно, как Вы написали - так и сделать. Написать на shell последовательный набор скриптов и этот общий командник вставить в вызов еженощного cron. только добавить в хвост команду возврата из режима техобслуживания.
Как-как, скриптами.
sudo -u www-data /usr/bin/php5 /var/www/admin/cli/maintenance.php --enable
mysqldump -umoodle -p123456 moodle | gzip > dump.sql.gz
zip -r moodledata.zip moodledata
sudo -u www-data /usr/bin/php5 /var/www/admin/cli/maintenance.php --disable
Возникла следующая проблема - cron не хочет запускать скрипт приведенный ниже:
/usr/bin/php /var/www/moodle/admin/cli/maintenance.php --enable
mkdir /var/www/backup/`date +%d%m%Y`
cd /var/www/backup/`date +%d%m%Y`
mysqldump -umoodle -p******** moodle > moodlebase.sql
tar -czvf moodlebase.tar.gz moodlebase.sql
rm moodlebase.sql
tar -czvf moodle.tar.gz /var/www/moodle
tar -czvf moodledata.tar.gz /var/moodledata
/usr/bin/php /var/www/moodle/admin/cli/maintenance.php --disable
Запись задания в cron: 00 01 * * 1 /var/www/backup_script.sh
Ошибок в логах не нашел. Из putty вручную скрипт выполняется успешно. Что может не нравиться cron?
Из putty вручную скрипт выполняется успешно. Что может не нравиться cron?
В crontab SHELL=/bin/sh или SHELL=/bin/bash ?? А в консоли что?
И второе: cron’у может не нравиться конструкция `date +%d%m%Y`
Символы «%» backslash-ить нужно http://www.hcidata.info/crontab.htm
К mysqldump прописать путь полный, не?
Настройте вывод логов cron в txt и посмотрите ошибку. Что-то должно быть.
Заработала связка SHELL=/bin/sh и за-backslash-ил % в скрипте.
Полный путь к mysqldump писать не стал, сработал cd.
Спасибо.