在使用 从 PHP运行命令后,我正在/var/spool/cron/atjobs/a001cf01570e44
使用进行检查。cat
at
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
通过 stdin 发送的唯一真正的命令。这些变量的用途是什么?此过程存储在哪里?
答案1
当您调用该at
命令时,它会复制当前环境,因此这就是您所看到的内容。
工作目录、环境(变量 TERM、DISPLAY 和 _ 除外)和 umask 从调用时起保留。
您正在at
通过 apache 运行 php 脚本,因此您在脚本中看到的是 apache 正在运行的环境等。