如有不清楚的地方,可以在评论区留言,小编每日解答。
手动执行脚本没有问题,但是指定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任务即可自动执行了。
如果觉得有帮助,领个支付宝红包再走吧,也是对小编的支持,谢谢。
用支付宝扫一扫下面的二维码: