linux crontab定时任务未执行

我就是我 2022-04-16 07:15 404阅读 0赞

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

crontab设置如下:

20181119112922201.png

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

发表评论

表情:
评论列表 (有 0 条评论,404人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux-Crontab定时任务

    1.介绍 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并

    相关 Linux定时任务crontab

    crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。