Sypex Dumper 2.0.6 + Cron

Что-то не работает? Пишите здесь.

Sypex Dumper 2.0.6 + Cron

UNREAD_POST Dimanok » 30.09.2010 21:24:41

Здравствуйте. Подскажите как это все дело записать в cron, примеру чтобы N-ая база бекапилась каждые 24 часа.
Спасибо.
Dimanok
 
Сообщения: 1
Зарегистрирован: 30.09.2010 21:22:57

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 04.10.2010 13:26:10

Заходите в дампер как обычно, выбираете все нужные параметры (базу, таблицы, сжатие, автоудаление и т.п.), после чего вместо кнопки Выполнить, нажимаете Сохранить. Вводите какое-нибудь имя и описание задачи, сохраняете.
Потом нужно добавить в Cron запуск дампера. Покажу на примеру cpanel.

Заходите в cpanel -> Дополнительно -> Задания Cron

В открывшемся окне добавляете задание, например, чтобы делать дамп каждый день в 3 часа ночи (когда минимальное количество посетителей), делаете так как на скриншоте.

В строке Command вписываете примерно следующее
Код: Выделить всё
/usr/bin/php /home/site/public_html/sxd/index.php -j=job_name

где /usr/bin/php путь к интерпретатору php (зачастую можно просто php написать, без /usr/bin/).
/home/site/public_html/sxd/index.php - полный путь к дамперу
-j=job_name - параметр для дампера, который указывает какую задачу нужно выполнить (логин/пароль к mysql, берется из конфига cfg.php, либо их можно жестко задать в параметрах)
Вложения
1.png
Добавление Cron-задания для дампера
1.png (32.73 Кб) Просмотров: 27487
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST Jons » 06.02.2011 17:08:20

прошло 3 часа с момента создания CRON (каждые 2 часа), а бекап так и не создан.
Проверил задача есть.
Почему не работает?
Jons
 
Сообщения: 2
Зарегистрирован: 06.02.2011 15:07:13

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 07.02.2011 18:04:53

Настройте в cron email на который будут приходить извещения, чтобы увидеть, есть ли там какие-то ошибки.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 14.02.2011 22:48:32

Sypex Dumper 2.0.8 . Хостинг GoDaddy.com . Крон линуксовый. Пишу туда: /web/cgi-bin/php5 /home/content/974836595/html/sxd/index.php -j=webmod1 (при этом настройки mysql в конфиге вписаны).
Пробовал и через строку передавать настройки mysql .... нифига, не выполняет. На емейл шлет отчеты о выполнении задачи крона, но там тупо код html страницы index.php (
В ручную если зайти, то бэкапы делаются нормально.

Что бы это могло быть? Спасибо за помощь.
Последний раз редактировалось krendelek007 14.02.2011 23:52:59, всего редактировалось 2 раз(а).
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 14.02.2011 22:58:55

Код: Выделить всё
Content-Type: text/html; charset=utf-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sypex Dumper 2.0.8</title>
<link rel="shortcut icon" href="load.php?favicon.v208.ico">
<link rel="stylesheet" type="text/css" href="load.php?sxd.v208.css">
</head>
<body>
<div class="dialog" id="dia_auth">
       <div class="header"><a href="http://sypex.net/">Sypex Dumper 2.0.8</a></div>
       <div class="content" id="div_1" style="line-height:50px;text-align:center;">JavaScript должен быть включен</div>
       <div class="content" id="div_2" style="display:none;">
               <form method="post">
               <table cellspacing="5">
                       <tr>
                               <td valign="top" colspan="3">
                               <fieldset>
                               <legend>Ð Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ </legend>
                                       <table cellspacing="3">
                                               <tr>
                                                       <td width="90">Пользователь:</td>
                                                       <td width="192"><input type="text" name="user" value="" class="i202"></td>
                                               </tr>
                                               <tr>
                                                       <td>Пароль:</td>
                                                       <td><input type="password" name="pass" value="" class="i202"></td>
                                               </tr>
                                               <tr>
                                                       <td></td>
                                                       <td><label><input type="checkbox" name="save" value="1"> Запомнить</label></td>
                                               </tr>
                                               <tr>
                                                       <td>Language:</td>
                                                       <td><select type="text" name="lang" style="width:198px;" onChange="this.form.submit();"><option value="auto">- auto -</opinion><option value="en">English</opinion><option value="ru" SELECTED>Ð ÑƒÑ Ñ ÐºÐ¸Ð¹</opinion></select></td>
                                               </tr>
                                       </table>
                                       <table cellspacing="3" id="hst" style="display:none;">
                                               <tr>
                                                       <td width="90">Ð¥Ð¾Ñ Ñ‚:</td>
                                                       <td width="116"><input type="text" name="host" style="width:110px;" value=""></td>
                                                       <td width="40" align="right">Порт:</td>
                                                       <td width="36"><input type="text" name="port" maxlength="5" style="width:30px;" value=""></td>
                                               </tr>
                                       </table>
                               </fieldset>
                               </td>
                       </tr>
                       <tr class="buttons"><td align="left"><input type="button" value="Детали" onclick="var s = document.getElementById('hst').style; s.display = (s.display == 'block') ? 'none' : 'block';"></td><td align="right"><input type="submit" value="Войти"></td></tr>
               </table>
               </form>
       </div>
       <script type="text/javascript">document.getElementById('div_1').style.display = 'none';document.getElementById('div_2').style.display = 'block';</script>
</div>
</body>
</html>


Вот такое в письме приходит, может это из-за кодировки оно не работает правильно?
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 15.02.2011 17:31:14

О godaddy наверное лидер по кривизне настроек. А такой путь к php вы откуда взяли?
Тут судя по всему не передаются параметры вызова в скрипт, поэтому скрипт работает в web-режиме.
Попробуйте сделать в каталоге дампера скрипт вида
<?php
phpinfo();
?>

и запустить его из крона точно также как запускаете дампер (в том числе параметры вызова), результаты выполнения скиньте в личку либо на email в контактах.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 15.02.2011 22:31:06

zapimir писал(а):О godaddy наверное лидер по кривизне настроек. А такой путь к php вы откуда взяли?

Код: Выделить всё
The Command field is the script or executable that runs at a specified frequency. Click Browse to locate a file in your hosting account. The full file name of your selection is placed into this editable field.

Cron commands are typically script files that have executable permission and specify their interpreter as the first line of the file. For example, a first line of "#!/usr/bin/perl" directs the system to run the perl language interpreter for the file.

Your Shared Hosting account supports the following languages and associated interpreter lines:

    * Perl: #!/usr/bin/perl
    * Python 2.2: #!/usr/bin/python2.2
    * Python 2.3: #!/usr/bin/python2.3
    * Python 2.4: #!/usr/bin/python2.4
    * Ruby: #!/usr/local/bin/ruby
    * Bash: #!/bin/bash

The installed versions of PHP 4 and PHP 5 do not support the interpreter specification in a PHP file. In order to run a PHP script via Cron, you must specify the interpreter manually. For example:

    * PHP 4: /web/cgi-bin/php "$HOME/html/test.php"
    * PHP 5: /web/cgi-bin/php5 "$HOME/html/test.php5"

Note: In this example script, "$HOME" represents the full path to your Shared Hosting account. The actual path to your account will be provided if you select the script from your account using the Browse button.


zapimir писал(а):и запустить его из крона точно также как запускаете дампер (в том числе параметры вызова), результаты выполнения скиньте в личку либо на email в контактах.

Через личное сообщение не получилось передать, слишком много символов, а через email - не нашел его в профиле. Поэтому с вашего позволения выкладываю на рапидшару результат:
[...]
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 16.02.2011 02:19:49

Ну как и ожидалось у них неправильно настроен php, cron выполняется не через консольную версию php, а через cgi предназначенную для web.
Завтра набросаю патчик, протестируете.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 16.02.2011 11:40:24

Большое спасибо. Жду.
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 17.02.2011 02:23:25

Откройте index.php и найдите строку
Код: Выделить всё
$SXD->init(!empty($argc) && $argc > 1 ? $argv : false);
и замените её на
Код: Выделить всё
$SXD->init(!empty($argc) && $argc > 1 ? $argv : (!empty($_GET['-j']) ? $_GET : false));

после этого должно заработать
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 17.02.2011 13:49:14

Спасибо.
Я так понял, это сработает только если я передаю в строке только параметр -J ?
Или для-h -o -u -p тоже работать будет?

p.s. пока что на почту пришло:
Код: Выделить всё
Expires: Wed, 19 Nov 2008 19:19:19 GMT
Cache-Control: no-store, no-cache, must-revalidate
Content-Type: text/html; charset=utf-8

Auth error


Хотя странно, в конфиге вписаны правильные значения для соединения с mysql

p.s.2. Попробовал передать в строке все параметры, все равно пишет: "Auth error"
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST zapimir » 18.02.2011 03:04:59

-j обязательный параметр просто, все остальные опциональные.
не учел что еще параметры разбиваются на части
нужно еще перед строкой
Код: Выделить всё
if (preg_match("/^-([hupoj])=(.*?)$/", $arg, $m)){

добавить строку
Код: Выделить всё
if($key{0} == '-') $arg = "{$key}={$arg}";
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 18.02.2011 13:35:07

Спасибо. Так сработало! Но я только заметил, что в архиве, который получается на выходе такой вот файл: webmod1_2011-02-18_00-08-16.sql в котором вот такое содержимое:
Код: Выделить всё
#SXD20|20008|50091|50217|2011.02.18 00:08:16|webmod1|utf8|0|0|
#EOH


и собственно это всё??!!! ... Что я делаю не так?
p.s. Если создавать бэкап через web, то содержимое там такое же ...
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05

Re: Sypex Dumper 2.0.6 + Cron

UNREAD_POST krendelek007 » 18.02.2011 16:34:28

Вроде разобрался, работает. Спасибо ещё раз огромное.
krendelek007
 
Сообщения: 7
Зарегистрирован: 14.02.2011 22:22:05


Вернуться в Проблемы и баги

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], SemrushBot, YandexBot [Bot] и гости: 9

Яндекс.Метрика