linux中shell脚本直接执行没有问题,crontab定时执行失败的解决方法

Shell 命令 专栏收录该内容
59 篇文章 1 订阅

Linux下用crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。

这是因为用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行。
有2种方法可以解决这个问题,

1、在Shell文件里面获取环境变量值的路径写成绝对路径,别用环境变量的路径值。

例如获取CPU的使用情况  通过绝对路径/proc/cpuinfo 来获取值;

2、Shell脚本缺省的#!/bin/bash开头换行后的第一行用(推荐使用)

#!/bin/bash

. /etc/profile

. ~/.bash_profile

这样,crontab在执行脚本的时候,就能够读到用户的环境变量参数.
 

  • 4
    点赞
  • 3
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值