Главное меню
CMF MODx
Серверные настройки
Главное меню
CMF MODx
Серверные настройки
Резервное копирование ,три пункта.
Все самые распространённые cms используют для хранения своих данных бд. Самым распространённый у хостеров сервером баз данных является MySQL. Так что при написании кода будем ориентироваться на него. У MySQL есть очень интересная утилита - mysqldump
. Эта утилита создаёт дамп заданой базы данных. Потом из этого дампа если что можно восстановить все таблицы бд. Синтаксис вызова утилиты mysqldump.
mysqldump -u[логин к бд] -p[пасворд к бд] [название копируемой бд] >
[название файла дампа].sql
Для хранения резервных копий я создал через файловый менеджер в корне каталога на хостинге папку backup. Туда мой скрипт делает копии. Потом я их по ftp переношу на свой компьютер. В notepad++ я создал файл mybackup.sh и перенёс его в корневой каталог на хостинг. Ниже я выложил листинг mybackup.sh, который делает дамб бд и переносит его в папку backup.
#получаем текущую дату BACKDATE=`date +%Y-%m-%d`; #задаём имя копир. сайта SITENAME='aweb34'; #создаём дамп бд и переносим его в backup mysqldump -u[ваш логин к бд] -p[ваш пасс к бд] [название копир. бд] > backup/$SITENAME-$BACKDATE.sql;
Если вы хотите потестить работу скрипта в реальном времени, то код можно запустить в командной строке.
Для копирования и архивации я использую команду tar
. Синтаксис.
tar [-ключи] [путь и название содаваемого архива].tar.gz
[путь к папке или файлу, который архивируем]
Обычно все файлы сайта хранятся в папке public_html, её и будем архивировать и переносить в папку backup. Допишем наш скрипт mybackup.sh.
#получаем текущую дату BACKDATE=`date +%Y-%m-%d`; #задаём имя копир. сайта SITENAME='aweb34'; #создаём дамп бд и переносим его в backup mysqldump -u[ваш логин к бд] -p[ваш пасс к бд] [название копир. бд] > backup/$SITENAME-$BACKDATE.sql; #архивируем файлы сайта tar cvfz backup/$SITENAME-$BACKDATE.tar.gz public_html;
Теперь осталось настроить запуск скрипта автоматически по заданному нами графику.
Есть такой демон (программа работающая в фоновом режиме) в юникс системах, cron. Cron это планировщик задач. Он даёт возможность запускать скрипты по определённому графику. Файл в котором расписано время выполнение задач называется crontab. Небольшая справка по синтаксису crontab.
* | любой, день, месяц, год, час, минута |
*/2 | При применении к полю минута обозначает каждые 2 минуты |
день недели | День недели считается с 0 - воскресенье и заканчивается 7 - суббота |
месяц | считается с 1 до 12 |
день | считается с 1 до 31 |
час | считается с 0 до 23 |
минута | считается с 0 до 59 |
0,4 | при применении к полю дни недели событие происходит в воскресенье и четверг |