Я создал задачу крона с помощью crontab, но я получаю вопросительный знак в конце имени файла журнала.
*/4 * * * * /usr/bin/php /path_to_cron/queue.php > /path_to_log_file/queue.txt
Там какой-либо путь состоит в том, чтобы получить чтение его? Созданный файл имеет вопросительный знак в конце это, например. queue.txt?
Я попытался изменить редактора крона, но это не помогает
Я вижу crontab -l | cat -tve
это после каждой задачи там ^M$
после имени файла журнала.
Как stevieb предложенный в комментарии выше, Вы, кажется, имеете возврат каретки в конце Вашей crontab строки.
Here’s рецепт для избавлений от него с помощью редактора vi. Следующая команда откроет crontab для редактирования в vi:
VISUAL=$(which vi) EDITOR=$(which vi) crontab -e
Теперь вводят :%s/\r$//
и нажимают Enter. Это должно удалить все символы возврата каретки в концах строки. Тогда войдите :wq
, снова сопровождаемый путем нажатия Enter. Это должно сохранить crontab и выйти из редактора.
Это работало на меня.
^M
Вы видите, дополнительное возврат каретки от формата Microsoft Windows. Можно избавиться от него путем преобразования символов возврата каретки от DOS до формата Unix с помощьюdos2unix
утилита.Вот пример, который преобразовывает crontabs всего пользователя:
sudo dos2unix /var/spool/cron/crontabs/*