Беспорядок Mysqldump?

Относительно этого:

42 3-22 * * */var/www/apache2-default/getUserDetails.php? friend=14522828

Вы не можете поместить ? там. Это рассмотрит ? наряду с остальными после него как часть имени файла от файловой системы (это ищет файл getUserDetails.php?friend=14522828 в /var/www/apache2-default). То, что можно сделать:

42 3-22 * * * /usr/bin/php-cgi /var/www/apache2-default/getUserDetails.php friend=14522828

(принятие php-cgi исполняемого файла находится в/usr/bin, изменитесь соответственно, если php установлен в другом месте),

С другой стороны, Вы могли отредактировать getUserDetails.php и иметь следующую строку в самом верху файла:

#!/usr/bin/php-cgi
<?php
[your code goes here]
...

Затем удостоверьтесь, что getUserDetails.php является исполняемым файлом корнем (проверка через ls-l, присвойтесь через chmod), и затем имейте следующее расписание в кроне:

42 3-22 * * * /var/www/apache2-default/getUserDetails.php friend=14522828

После этого можно контролировать/var/log/cron для команд, выполняемых crond. И затем можно проверить почту корня (mail команда) для вывода программы или ошибок, с которыми встречаются.


если, с другой стороны, то, что Вы действительно имели в своем crontab, было

0 2-21 * * * /www/file.php

Затем я озадачен. Запись действительно выглядит хорошо поэтому, что необходимо удостовериться, то, что можно петлять вручную в командной строке (войти /www/file.php в оболочке). Добавьте выполнить биты для него если не исполняемый файл.

После этого проверьте/var/log/cron, а также почту корня и для выполняемых команд и для ошибок.

0
задан 22 March 2011 в 07:06
2 ответа
  • Если Вы будете использовать mysqldump для резервного копирования таблиц, и кто-то пытается изменить заблокированную таблицу, то их обновление заблокируется, пока таблица не разблокирована mysqldump.
  • Если бы Вы не блокируете свои таблицы при попытке сделать резервное копирование, совершенно возможно, что резервное копирование закончилось бы в непоследовательном состоянии. В зависимости от Вашего приложения это могло вызвать проблемы.
  • Как @tsykoduk состояния, лучше брать Ваши резервные копии от копии только для чтения Вашего рабочего сервера. Если это не возможно, лучшее решение зависит от Вашей среды. Например, при использовании только таблиц InnoDB можно выполнить mysqldump с --single-transaction гарантировать последовательное резервное копирование, не блокируя обновления.

Документы MySQL описывают большинство этих опций более подробно:

http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html

2
ответ дан 4 December 2019 в 12:56

Лучше снимать резервное копирование копии только для чтения, как тогда, когда Вы блокируете таблицы, любые записи будут ошибка. Кроме того, резервное копирование может быть довольно интенсивно использующей ресурсы операцией, таким образом, оно может произвести производительность.

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

Также - если Вы не блокируете таблицы или используете продукт горячего резервного копирования, Вы рискуете не получать полное резервное копирование. IE, если кто-то пишет в таблицу и заблокировал ее при выполнении резервного копирования Вы получите поврежденные данные.

1
ответ дан 4 December 2019 в 12:56

Теги

Похожие вопросы