/etc/crontab или любой пользователь crontab не выполняется

Можно включить или отключить биты конфигурации с IfDefine, но это, вероятно, не сделает то, что Вы хотите. Вместо этого можно установить переменные среды в Apache init сценарий к доступу в рамках конфигурации. Например, добавление:

HOSTNAME=$(hostname)

кому: /etc/init.d/httpd (прежде чем строка, которая звонит httpd!) на машине RHEL передает имя хоста машины в как переменная. Это не должен быть вывод команды - что-либо, что устанавливает переменную в среде, которая запускается httpd прекрасен. Переменные могут использоваться в конфигурации как так:

[root@dev ~]# cat /etc/httpd/conf.d/test.conf
Header set X-Hostname ${HOSTNAME}

[root@dev ~]# GET -Sed http://localhost
GET http://localhost --> 200 OK
Connection: close
Date: Fri, 11 Sep 2009 20:47:13 GMT
Server: Apache/2.2.3 (Red Hat)
Content-Length: 525
Content-Type: text/html;charset=ISO-8859-1
Client-Date: Fri, 11 Sep 2009 20:47:13 GMT
Client-Peer: 127.0.0.1:80
Client-Response-Num: 1
Title: Index of /
X-Hostname: dev.local

Конечно, Вы не ограничиваетесь Header директива. Переменные могут использоваться где угодно, как и т.д.

Если Вам не нравится это (и дело не в этом хороший..) можно генерировать конфигурацию из шаблона с помощью m4 или некоторый другой шаблонный язык.

ДОПОЛНИТЕЛЬНЫЙ:

Hrm, один способ сделать его лучше состоял бы в том, чтобы сохранить все переменные во внешнем файле, возможно /etc/httpd/conf/variables.txt:

FOO=/path/to/dir
ROLE=development

и затем включайте их в свой Apache init.d сценарий с:

. /etc/httpd/conf/variables

перед вызовом httpd. Все еще не блестящий, но по крайней мере это разделяет сценарий запуска и переменные.

1
задан 10 August 2010 в 06:11
3 ответа

Проверьте, что у Вас нет/etc/cron.allow файла или/etc/cron.deny заданий порождения файла, которые будут проигнорированы.

Если/etc/cron.allow не там затем, все могут выполнить задания крона. Если это там, но пустой я не уверен, позволяет ли это кому-либо выполнять задания крона.

1
ответ дан 3 December 2019 в 22:27

Ошибка в вашем crontab, посмотрите:

 * * * * * root run-parts /bin/date >> /data/date.txt

Вы вызываете run-parts с каталогом / bin / date - наверняка это не удастся. Ошибка переходит в stderr и не кэшируется >>

1
ответ дан 3 December 2019 в 22:27

Создайте файл с именем /etc/cron.allow, если он не существует, и добавьте в него имя пользователя.

0
ответ дан 24 March 2021 в 20:44

Теги

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