Переменные окружения, сгенерированные командой

Я проверяю /var/spool/cron/atjobs/a001cf01570e44 с catпосле запуска at команда из PHP с помощью exec(),

Это выглядит как at добавил в скрипт множество переменных окружения APACHE.

#!/bin/sh
# atrun uid=33 gid=33
# mail www-data 0
umask 22
APACHE_RUN_DIR=/var/run/apache2; export APACHE_RUN_DIR
APACHE_PID_FILE=/var/run/apache2.pid; export APACHE_PID_FILE
PATH=/usr/local/bin:/usr/bin:/bin; export PATH
APACHE_LOCK_DIR=/var/lock/apache2; export APACHE_LOCK_DIR
LANG=C; export LANG
APACHE_RUN_USER=www-data; export APACHE_RUN_USER
APACHE_RUN_GROUP=www-data; export APACHE_RUN_GROUP
APACHE_LOG_DIR=/var/log/apache2; export APACHE_LOG_DIR
PWD=/home/jordanarseno/webroot/public_html/myapp; export PWD
cd /home/jordanarseno/webroot/public\_html/myapp || {
     echo 'Execution directory inaccessible' >&2
     exit 1
}
curl -k http://localhost/myapp/crons/this_action/3

Последняя строка - единственная настоящая команда, которую я послал вместе с at через стандартный ввод Какова цель этих переменных? Где хранится эта процедура?

1 ответ

Решение

Когда вы вызываете at Команда копирует текущую среду, так что это то, что вы видите.

Рабочий каталог, среда (за исключением переменных TERM, DISPLAY и _) и umask сохраняются со времени вызова.

Ты бегаешь at в скрипте php через apache, так что вы видите в скрипте среду и т.д., в которой работает apache.

Другие вопросы по тегам