linux crontab定时任务未执行

版权声明:转载请注明出处 https://blog.csdn.net/h2604396739/article/details/84237007

在遇到这次问题之前,我已经多次使用了定时任务,这次也正常设置了定时任务,但是死活发现定时任务没有执行。

crontab设置如下:

bg_action_report.sh内容如下:

#!/bin/sh
#date=`date +%Y%m%d`
#filePath='/data/hive-data/report/'
#cd  $filePath
rm 'bg_action_20181118.tar.gz'

整个shell就干了删除bg_action_20181118.tar.gz文件这件事。

但是无论如何我尝试了多次,发现都没有执行删除操作,所以第一反应把定时的任务放到命令行下执行下,

即在/data/hive-data/report/下执行/data/hive-data/report/txt_report.sh>/data/hive-data/report/txt_report.log

发现该shell能正常执行,奇怪了!!!

增加了定时任务

* * */1 * * echo 'abc'>/data/hive-data/report/abc.txt 来验证,发现该定时任务可以正常执行

ok,能确定了,肯定是shell脚本存在问题,

那为什么在/data/hive-data/report/下执行/data/hive-data/report/txt_report.sh>/data/hive-data/report/txt_report.log是好用的呢?

因为我是在/data/hive-data/report/路径下执行的,被删除的文件bg_action_20181118.tar.gz所在路径也是/data/hive-data/report/。

所以在/data/hive-data/report/路径下执行

rm 'bg_action_20181118.tar.gz'肯定没问题啊

在非/data/hive-data/report/的任何路径下执行/data/hive-data/report/txt_report.sh都会有问题,会找不到bg_action_20181118.tar.gz

所以修改脚本为:

#!/bin/sh
#date=`date +%Y%m%d`

#下面两行定位路径很重要
filePath='/data/hive-data/report/'
cd  $filePath
rm 'bg_action_20181118.tar.gz'

其实就是错误的shell+错误的验证方式,耗费我一个多钟头!!!!

别的crontab任务不执行,可参考

https://blog.csdn.net/u011734144/article/details/54576469

猜你喜欢

转载自blog.csdn.net/h2604396739/article/details/84237007