Модифицировал дампер для использования его как бекап-решение по крону. Качаем в атаче.
Для использования логинимся как всегда, выбираем базу и опции, нажимаем кнопку и получаем ссылку по которой будет выполняться данное действие.
Эту ссылку можно засунуть в дневной крон и будет вам счастье, главное удаляйте старые бекапы.
В скрипте изменил лишь способ приема параметров ($_POST на $_REQUEST), авторизации (по base64 логина/пароля), добавил генерацию линки.
P.S. К сожалению, не могу приложить дифф, потому как мой редактор автоматом заменил все табы на пробелы, и теперь дифф с оригиналом - это сплошной файл. Если у кого возникнут сомения на счет безопасности, можете или проверить код, или не использовать скрипт
Вложение | Размер |
---|---|
dumper_cron.zip | 10.73 КБ |
Комментарии
Интересно! Спасибо!
Спасибо, а чем backup_migrate не устроил?
Честно говоря, я его не использовал никогда. Дампер — привычный инструмент для многих.
Скрипт приятный во всех отношениях. Единственно - у меня nic.ru не взялся
ооо, великая вещь
похожая штука есть в модуле db maintain кажется - там можно делать оптимизаци и бекап по крону
Но все равно спасибо, полезно!
Спасибо. Сам хотел переделать его для такой задачи, но все как-то руки не доходили!!!
чтото у меня по крон неработает(через wget)
и фильтр таблиц тоже игнорит - делает полный дамп
Накидал скрипт отправляющий содержимое дирректории (файлы определенного типа) на емайл.
1. Скиньте bacuptomail.php в директорию drupal
2. Пропишите правильные переменные:
<?php
//$dir="files/backup_migrate/manual/";
$dir="files/backup_migrate/scheduled/";
$ext="gz";
$content_type="application/x-gzip";
$maxsize=10000000;
...
$mail->from = "info@mysite.com";
$mail->to = "mail@gmail.com";
...
?>
3. Запускайте по крону.
разобрался wget не принимает параметры GET т.к. '&' в консоли имеет своё значение...
в директиве table(передаваемой по GET) нет urlencode'дирования символов '^' '*'
кстати вот патч изменений стандартного дампера
Как правильно прописать полученную ссылку в задании cron? Через curl -s у меня не заработало. Приходит отчёт на почту с стартовой панелью sypex и ссылкой в заголовке. Если просто запустить ссылку, то всё работает.
Разобрался. Надо ссылку ставить в кавычки ''
dumper_cron.php
найти
if (!empty($_POST['tables'])) {
заменить на
if (!empty($_REQUEST['tables'])) {
P.S. думпер 2й версии мне не подошел, т.к. в нем в конфиг пишутся таблицы которые надо бекапить, а в этом наоборот - таблицы которые надо исключить из бекапа. Я время от времени модифицирую свой движок, в том числе добавляю новые таблицы, все время обновлять конфиг думпера не удобно и можно забыть в неподходящий момент ... .