crontab任务不自动执行问题

当crontab任务无法自动执行时,可能原因是脚本使用了未定义的环境变量。要解决此问题,需找到脚本中的路径变量(如$log_path$),并在/etc/profile中为环境变量(如NAS_PATH)赋值,然后在脚本开头通过source /etc/profile引用这些环境变量,确保crontab任务能正确执行。
摘要由CSDN通过智能技术生成

如有不清楚的地方,可以在评论区留言,小编每日解答。       

手动执行脚本没有问题,但是指定crontab任务后程序却不自动执行这个问题很有可能就是脚本中有使用定义的环境变量的问题了。而且该脚本应该不是放在本用户的目录下面。(本文中蓝色字体表示文件里的内容,加黑粗体表示命令行内容)

        1、找到脚本路径

找到脚本中变量所代表的路径,例如:

log_path="$NAS_PATH"/log/"$business_id"

该条命令是记录日志用的,同时脚本就存放在log同级目录的bin文件夹内,则这里需要在环境变量中定义NAS_PATH的值。

         2、定义环境变量

用root定义环境变量的值,在/etc/profile的最后加入环境变量的定义:

# vim /etc/profile

export NAS_PATH=/mnt/data_nfs

         3、在脚本中引用环境变量

在脚本的#!/bin/bash下面加入如下内容:

source /etc/profile

这样定义的crontab任务即可自动执行了。

如果觉得有帮助,领个支付宝红包再走吧,也是对小编的支持,谢谢。

用支付宝扫一扫下面的二维码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值