У меня есть облачный сервер Ubuntu 16.04.2 LTS онлайн 24/7. На этом сервере работает много cronjob. Существует новостной сайт, который я хочу сохранить временную версию титульной страницы каждые 20 минут. Я создал инструкцию WGET, которая отлично работает из командной строки.
wget --convert-links --output-document = / home / username / News-Headlines - $ (date +% Y-% m-% d_% H:% M:% S). html news.tld
* / 20 * * * * / usr / bin / wget --convert-links --output-document = / home / username / News-Headlines - $ (date +% Y -% m-% d_% H:% M:% S) .html news.tld
Когда этот оператор запускается из корневого cronjob, файл не создается, и в файле / var / log / syslog
Как можно заставить эту инструкцию crojob для пользователя WGET работать?
Последующее действие:
Ошибка была отправлена по электронной почте cron: / bin / sh: 1: Синтаксическая ошибка: конец файла неожиданно (ожидается ")")
Корневой файл crontab имеет пустую строку в конце. К чему относится эта ошибка?
ПРОБЛЕМА ОТКРЫЛА. Знаки% не сбежали.
В этом сообщении был найден следующий совет: https://serverfault.com/questions/449651/why-is-my-crontab-not-working-and-how-can-i-troubleshoot- это
«Будьте ОЧЕНЬ осторожны при использовании знака процента (%) в вашей команде. Если они не экранированы \%, они преобразуются в символы новой строки и все после того, как первый неэкранированный% передается вашей команде на stdin. "
После того, как% в инструкции даты было экранировано \%, файл с меткой времени был создан как ожидалось.
* / 20 * * * * / usr / bin / wget --convert-links --output-document = / home / username / News-Headlines - $ (date + \% Y - \% m - \% d _ \% H: \% M: \% S) .html новости .TLD
ПРОБЛЕМА ОТКРЫЛА. Знаки% не сбежали.
В этом сообщении был найден следующий совет: https://serverfault.com/questions/449651/why-is-my-crontab-not-working-and-how-can-i-troubleshoot- это
«Будьте ОЧЕНЬ осторожны при использовании знака процента (%) в вашей команде. Если они не экранированы \%, они преобразуются в символы новой строки и все после того, как первый неэкранированный% передается вашей команде на stdin. "
После того, как% в инструкции даты было экранировано \%, файл с меткой времени был создан как ожидалось.
* / 20 * * * * / usr / bin / wget --convert-links --output-document = / home / username / News-Headlines - $ (date + \% Y - \% m - \% d _ \% H: \% M: \% S) .html новости .TLD
ПРОБЛЕМА ОТКРЫЛА. Знаки% не сбежали.
В этом сообщении был найден следующий совет: https://serverfault.com/questions/449651/why-is-my-crontab-not-working-and-how-can-i-troubleshoot- это
«Будьте ОЧЕНЬ осторожны при использовании знака процента (%) в вашей команде. Если они не экранированы \%, они преобразуются в символы новой строки и все после того, как первый неэкранированный% передается вашей команде на stdin. "
После того, как% в инструкции даты было экранировано \%, файл с меткой времени был создан как ожидалось.
* / 20 * * * * / usr / bin / wget --convert-links --output-document = / home / username / News-Headlines - $ (date + \% Y - \% m - \% d _ \% H: \% M: \% S) .html новости .TLD
ПРОБЛЕМА ОТКРЫЛА. Знаки% не сбежали.
В этом сообщении был найден следующий совет: https://serverfault.com/questions/449651/why-is-my-crontab-not-working-and-how-can-i-troubleshoot- это
«Будьте ОЧЕНЬ осторожны при использовании знака процента (%) в вашей команде. Если они не экранированы \%, они преобразуются в символы новой строки и все после того, как первый неэкранированный% передается вашей команде на stdin. "
После того, как% в инструкции даты было экранировано \%, файл с меткой времени был создан как ожидалось.
* / 20 * * * * / usr / bin / wget --convert-links --output-document = / home / username / News-Headlines - $ (date + \% Y - \% m - \% d _ \% H: \% M: \% S) .html новости .TLD