luinx系统crontab定时任务不执行
今天在luinx系统中写了一个定时任务,手动执行可以,用crontab就是无法执行
# 这个是我的脚本
# 获取当前系统时间
current_time=$(date +"%Y-%m-%d %H:%M:%S")
# 格式化时间显示
formatted_time=$(date +"%Y-%m-%d %H:%M:%S" -d "$current_time")
echo "当前系统时间:$current_time">>/app/date.log&
echo "格式化后的时间:$formatted_time" >>/app/date.log&
cat /app/date.log
这个是我的crontab定时任务
*/1 * * * * /app/date.sh
查看cron运行日志文件,发现任务正常调用
但是打印date.log日志发现并未写入运行日志
我的操作流程都是正常的,但是就是不执行,我又查看邮件日志,终于发现了问题
cat /var/spool/mail/root
发现脚本没有可执行权限,但是我手动又能执行脚本,就很奇怪为什么报无可执行权限,然后我就去查看脚本权限,发现脚本没有X权限
ls -l /app/date.sh
在Linux中,权限分为三种,分别是:读权限(r)、写权限(w)、执行权限(x)。
读权限(r):对文件来说,是具备查看文件内容的权限;对文件夹来说,是具备查看文件夹下内容的权限。
写权限(w):对文件来说,是具备修改文件内容的权限;对文件夹来说,是具备移动或删除文件夹下内容的权限
执行权限(x):对文件来说,是具备执行文件内容的权限,有权限能执行文件内容,没有权限不能执行,但是同时也得考虑文件内容本身是否可执行;对文件夹来说,是具备能够进入到文件夹下的权限
发现我脚本确实没有X权限,手动加上之后,crontab定时脚本运行正常
我又试了一下新建文件,发现新建的文件都是没有X权限的,这也算是我踩了一个坑,希望能帮到你们