variáveis de ambiente geradas pelo comando at

3

Estou inspecionando /var/spool/cron/atjobs/a001cf01570e44 com cat , depois de executar o comando at do PHP usando exec() .

Parece que at preencheu o script com muitas variáveis de ambiente 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

A última linha é o único comando real que eu enviei juntamente com at via stdin. Qual é o propósito dessas variáveis? Onde este procedimento é armazenado?

    
por Jordan Arseno 29.09.2012 / 22:37

1 resposta

2

Quando você chama o comando at , ele copia o ambiente atual e é isso que você está vendo.

The working directory, the environment (except for the variables TERM, DISPLAY and _) and the umask are retained from the time of invocation.

Você está executando at em um script php via apache, então o que você está vendo no script é o ambiente, etc. em que o apache está sendo executado.

    
por 29.09.2012 / 23:08