我们如何验证crontab作业是否正在运行?

时间:2015-12-05 10:01:42

标签: bash cron

背景:

  

我使用 Sass 进行CSS编译与Bootstrap 3。

     

创建 gulp任务以触发编译。 ' gulp风格'

     

每次我对scss文件进行更改时,都厌倦了执行 gulp style 任务。

     

发现有关crontab的信息。创建了我的cron-file.txt,每隔30秒执行一次bash文件。回答礼貌:Running a cron every 30 seconds

* * * * * /bin/bash -l -c "/my/path/autogulp.sh; sleep 30 ; /my/path/autogulp.sh"

autogulp.sh目录

cd ~
cd /my/path/
gulp style

我尝试手动运行命令,它们似乎正常工作。不得不改变cron-file.txt和autogulp.sh的R / W模式。 但我的目标还没有完成。 ' gulp风格'并非每30秒自动工作

我尝试将std和错误输出路由到文件,但文件的内容始终为空。

1 个答案:

答案 0 :(得分:2)

可能是环境问题。 Cron作业使用极其有限的一组环境变量运行,它们不会读取您的bash_profile或任何其他启动文件。甚至可能没有设置PATH。要验证这一点,请运行

$ env -i HOME=$HOME /path/to/script
从终端的命令行提示符

。如果无法运行(“未找到命令”),请添加

PATH=$(/usr/bin/getconf PATH)

在脚本开头,然后再试一次。在脚本本身中设置脚本所需的所有变量。