Почему этот CRON не выполняется?

$ crontab -l
#
# m h  dom mon dow   command

SHELL=/bin/bash

* * * * * (/usr/bin/curl -s -XPOST http://internal.ip -H 'Content-type: application/json' -d 'data')

$ ls -l /usr/bin/curl
-rwxr-xr-x 1 root root 123336 Jan 29  2012 /usr/bin/curl

$ uname -a
Linux machine 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux

$ cat /etc/debian_version
6.0.4

но команда не выполняется, и я вижу следующее в /var/log/syslog:

Nov 29 20:29:01 machine /USR/SBIN/CRON[28580]: (CRON) error (grandchild #28582 failed with exit status 1)

точно такая же команда, при запуске непосредственно из терминала, отлично работает:

$ (/usr/bin/curl -s -XPOST http://internal.ip -H 'Content-type: application/json' -d 'data')
{}

Я пробовал гуглить, но все, что я мог найти, это то, что командный путь должен работать (он работает, я установил абсолютный путь) и что в конце crontab (есть) должна быть новая строка. Есть идеи?

6
задан user124114
26.11.2022 14:26 Количество просмотров материала 3656
Распечатать страницу

1 ответ

вы не должны иметь SHELL=/bin/bash в выводе crontab-l.

беги

crontab -e

и удалите SHELL=/bin / bash из crontab.

1
отвечен David Dai 2022-11-27 22:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх