newz20

 
<<< Назад

Автоматизация бэкапов (полный/мини) через модуль 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 нужно включать в бэкап очень аккуратно, так как в них много тяжелой информации, в идеале их чистить перед бэкапом.
Если кто допишет очистку этих папок с умом, прошу разместить код в комментах.

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

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

Обсуждение (0) (17)

Смотрите так же:
26.10.2020 Немного о безопасности.
17.08.2020 Переключение режима устройства долгим удержанием
09.04.2020 Добавление прокси в сценарий для обхода блокировки
19.02.2020 Правильно привязываем свойства и методы в настройках Модулей
23.01.2020 Как привязать метод к свойству или разберемся в структуре объектов
03.10.2019 Получение адреса по координатам.
13.09.2019 Ввод пин-кода или киношный экран разблокировки версия исправленная и доработанная
12.09.2019 Ввод пин-кода или киношный экран разблокировки
12.11.2018 Получение данных со стороннего сайта (аналог веб-переменным)
26.09.2018 Светильник на ws2812 + светильник с аккумулятором (часть прошивка)
24.09.2018 Светильник на ws2812 + светильник с аккумулятором (часть сборка)
17.09.2018 Немного про правильную перезагрузку.
14.09.2018 Светильник на ws2812 + светильник с аккумулятором

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

На форуме: newz20