newz20

 
<<< Back

Автоматизация бэкапов (полный/мини) через модуль Backup от Eraser1981

Создания скрипта для выполнения бэкапов, после будет возможно создавать бэкап нужного по расписанию. Так как штатный запуск делает только то что выбрано.

Автор сценария Александр Зайцев.
Недавно в чате возникало обсуждение возможности делать по расписанию разные типы бэкапов. А так как залезать в настройки и каждый раз править их не для владельцев "умных домов", то был проведен ряд изысканий и написан данный скрипт.
Что нужно для работы скрипта? при условии конечно что модуль уже установлен:
1 Два раза настроить модуль бэкапов, полный (с файлами и бд) и мини (только бд и файл конфигураци, так как только БД модуль делает с ошибками).
2 После каждой настройки получить содержимое ячейки столбца DATA в котором сохраняются эти настройки

// копируем код в консоль МД и копируем вывод

$Record = SQLSelectOne("SELECT * FROM project_modules WHERE NAME='backup'"); echo $Record['DATA'];

3 Подставить полученные на втором этапе данные в кавычки в коде ниже

include(DIR_MODULES . 'backup/backup.class.php'); // Подключение модуля Бэкап
$backup_module = new backup();

$Record = SQLSelectOne("SELECT * FROM project_modules WHERE NAME='backup'");

if ( date("N") == 2 || date("N") == 5 ) { //выборка дней для полного бэкапа
//full
$Record['DATA'] = 'полная дата'; //сюда данные от полного бэкапа
SQLUpdate('project_modules', $Record); // вставляем данные для бэкапа
$backup_module->create_backup();  //запуск бэкапа
//mini Возвращает данные мини бэкапа, так как автор любит перед изменениями делать мелкий бэкап  другим скриптом 
$Record['DATA'] = 'минимальная дата';
SQLUpdate('project_modules', $Record);
} else { //все дни что не попадают под условия выше будет выполняться эта часть кода, а имено мини бэкап
$Record['DATA'] = ' минимальная дата'; // сюда вставляем данные для мини бэкапа
SQLUpdate('project_modules', $Record);
$backup_module->create_backup(); 
}

Теперь прописываем созданный сценарий на запуск в дневной таймер и ваши копии делаются сами.
Дополнять и расширять условиями можно как вам нравится.

Предупреждение

Так как данные из БД содержат логины и пароли в открытом виде, данный скрипт при попадании в коннект будет содержать их. Рекомендую данные внести в свойства, а уже из свойств вставлять их. Автором это не предусмотренно, но уверен вы справитесь.
Если пожелаете то можете разместить код правленный в комментариях.

Предупреждение 2

Внимательно с настройками, папки бэкап и cms нужно включать в бэкап очень аккуратно, так как в них много тяжелой информации, в идеале их чистить перед бэкапом.
Если кто допишет очистку этих папок с умом, прошу разместить код в комментах.

Большое спасибо всем, кто помогает мне и остальным решать такие вот задачки.

Не забываем нажимать палец вверх, это стимулирует авторов к написанию других статей.

Discuss (0) (17)

See also:
2020-10-26 Немного о безопасности.
2020-08-17 Переключение режима устройства долгим удержанием
2020-04-09 Добавление прокси в сценарий для обхода блокировки
2020-02-19 Правильно привязываем свойства и методы в настройках Модулей
2020-01-23 Как привязать метод к свойству или разберемся в структуре объектов
2019-10-03 Получение адреса по координатам.
2019-09-13 Ввод пин-кода или киношный экран разблокировки версия исправленная и доработанная
2019-09-12 Ввод пин-кода или киношный экран разблокировки
2018-11-12 Получение данных со стороннего сайта (аналог веб-переменным)
2018-09-26 Светильник на ws2812 + светильник с аккумулятором (часть прошивка)
2018-09-24 Светильник на ws2812 + светильник с аккумулятором (часть сборка)
2018-09-17 Немного про правильную перезагрузку.
2018-09-14 Светильник на ws2812 + светильник с аккумулятором

Краснодар, Россия

На форуме: newz20