首页 文章

Cronjobs和环境变量

提问于
浏览
1

我有2个版本的网站: 生产环境 和开发 . 文件系统是:

/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

执行Production cron作业时,上面的'Production Variables'会替换Dev的吗?同样,在执行开发人员作业时,是否会使用“开发变量”而不是 生产环境 变量?

1 回答

  • 0

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

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

相关问题