Cronjobs和环境变量

时间:2012-11-03 16:43:07

标签: cron crontab

我有两个版本的网站:生产和开发。文件系统是:

/public_html
      production files.php
      more_production_files.php
      /dev
          dev_file.php
          etc...

我设置了cron作业,并且我在crontab中有环境变量,以保持路径正确发生的一些PHP require()函数。

我的问题是,如果我想在contab中设置单独的Dev和Production变量,我可以这样做吗?:

CRONTAB

# Dev Variables
ENVIRONMENT=/dev/
FULL_PATH=/home/username/public_html/dev/

# Dev Cron Jobs
0 0 1 1 1 php /home/username/public_html/dev/cronjob.php
0 0 1 2 2 php /home/username/public_html/dev/cronjob_2.php


# Production Variables
ENVIRONMENT=/
FULL_PATH=/home/username/public_html/

# Production Cron Jobs
0 0 1 1 1 php /home/username/public_html/cronjob.php
0 0 1 2 2 php /home/username/public_html/cronjob_2.php

执行生产计算机作业时,上面的“生产变量”会替换开发计划吗?同样,在执行开发人员作业时,是否会使用“开发变量”而不是生产变量?

1 个答案:

答案 0 :(得分:0)

当你似乎在运行Linux时,是的,这适用于大多数(至少是最近的)Linux发行版。例如,从Ubuntu crontab(5)手册;

  

crontab中的活动行将是环境设置或cron命令。 crontab文件从上到下进行解析,因此任何环境设置都只会影响文件中它们下面的cron命令。