Я хочу получать контент из PHP-скрипта на моем сервере два раза в день, изменяя переменную запроса, lang
чтобы указать, какой язык мы хотим, и сохранять этот контент в двух языковых файлах. Это мой crontab:
*/15 * * * * ~root/apache.sh > /var/log/checkapache.log
10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv"
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"
Проблема в том, что выполняется только первая командная строка wget (или, если быть точным: записывается только один файл /path/to/file-sv.sql
). Если я переключаю второй и третий ряд, /path/to/file-en.sql
вместо этого пишется. Первая строка всегда выполняется так, как ожидается, независимо от того, где она находится.
Затем я попытался использовать lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sql
безрезультатно; все еще только первая линия рыси выполнена успешно. Даже смешивание wget и lynx не изменило этого!
Становится немного отчаянным! Я что-то пропустил? Есть тысячи статей о crontab (в сочетании с) wget или lynx, но, похоже, все они охватывают основные настройки и синтаксис. Кто-нибудь понял, что я делаю неправильно?
Спасибо
Александр
Ответы:
Попробуйте добавить новую строку в конце вашего crontab.
источник
В тексте что-то не так. Отредактируйте свой crontab в vim, затем покажите невидимых символов.
Вы должны увидеть и исправить это.
источник
# crontab -e
EDITOR=vim crontab -e
$
в конце каждой строки?Попробуйте добавить редирект, чтобы отладить crontab (или прочитать корневую почту):
Также запустите 'wget -O /path/to/file-en.sql " http://mydomain.com/path/?lang=en "' из консоли.
Также используйте 'crontab -e' для проверки нового crontab.
Также попробуйте удалить неработающую строку и перепечатать ее с клавиатуры.
Сделайте резервную копию corntab и запустите команду:
источник
/tmp/crontab_ouptput 2> /tmp/crontab_error
работает только для первой строки. Запуск команды из консоли работает просто отлично. Переписал весь файл голыми руками, но ничего не изменилось.Я просто потратил некоторое время, пытаясь найти ответы на эти вопросы (добавление новых строк, удаление новых строк и т. Д.) В системе, в которой работает cronie . Наконец, обнаружена ошибка в cronie 1.5.3, которая выполняет только первое задание cron для каждого пользователя . Это исправлено в 1.5.4
https://github.com/cronie-crond/cronie/issues/30
Надеюсь, это сэкономит кому-то время ...
источник