Можно включить или отключить биты конфигурации с 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
. Все еще не блестящий, но по крайней мере это разделяет сценарий запуска и переменные.
Проверьте, что у Вас нет/etc/cron.allow файла или/etc/cron.deny заданий порождения файла, которые будут проигнорированы.
Если/etc/cron.allow не там затем, все могут выполнить задания крона. Если это там, но пустой я не уверен, позволяет ли это кому-либо выполнять задания крона.
Ошибка в вашем crontab, посмотрите:
* * * * * root run-parts /bin/date >> /data/date.txt
Вы вызываете run-parts с каталогом / bin / date - наверняка это не удастся.
Ошибка переходит в stderr и не кэшируется >>
Создайте файл с именем /etc/cron.allow
, если он не существует, и добавьте в него имя пользователя.