Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案
Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案
实际开发场景
需要开发一个Flink监控程序,初步使用shell脚本进行监控,如果发现失败了,则自动重新运行Flink命令行参数进行重启。
遇到的问题
编写好shell脚本后,在linux命令行调用 sh shell.sh进行测试,成功实现监控和重启功能。于是利用crontab对脚本进行定时调度监控。
后来发现,当Flink失败时确实发出了监控报警,但是却没有自动重启。经排查后发现,应该是脚本中Flink命令行启动Flink任务没有成功,但是在Linux控制台中测试又没问题,这是什么原因呢?
查找资料之后发现,crontab有一个坏毛病,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个 脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。
错误原因
所以原因就在于,crontab没有去读环境变量,需要再脚本中手动引入环境变量
恍然大悟,于是尝试在脚本中加入了引入环境变量的配置:
#!bin/bash
source /etc/profile
source ~/.bash_profile...
再执行时,问题解决。
原来就是因为crontab在执行脚本时没有读取环境变量,导致执行Flink命令行出错
Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案相关推荐
- Linux crontab 定时执行脚本
不废话,直接上你要的: 如框框内所示,该命令表示每十分钟执行一次该目录下的脚本文件,即 /home/alan/test1.sh Ok,现在具体讲一下命令为何这么写. 一:什么是crond,什么又是c ...
- crontab自定义脚本执行失败,但是手动执行是成功的
问题:自己写了个kubectl命令删除失败pods的脚本,然后crontab自动执行总是失败. 分析: [root@k8s-master-1 lyf]# which kubectl /usr/loca ...
- Linux crontab定时执行任务
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 ...
- Linux crontab定时执行任务 命令格式与详细例子
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...
- linux crontab 定时关机,Linux系统使用--定时关机的实现以及crontab命令和文件详解...
一.前言 为了以后不用再半夜跑回实验室关电脑,昨天中午花了两个小时左右的时间搞了一下如何实现Linux系统的定时关机,结果没搞出来.在老师的指点下得以解决,写一博客分享之. 另,发现现在网上的资料越发 ...
- linux crontab 每十秒,linux crontab定时任务5秒、20秒执行一次解决方案
crontab 每20秒执行一次 方案一: */1 * * * * sleep 20 && /bin/bash /var/ftp/test.sh */1 * * * * sleep ...
- linux svn e170001 认证失败,jenkins - svn: E170001报错的原因以及解决方案
1. 什么问题What? 使用Jenkins配置的svn拉取项目,Jenkins报错:svn: E170001; Your credentials to connect to the reposito ...
- crontab执行脚本发邮件中文乱码,手动执行没有问题
今天写了个脚本,定时给指定邮箱发送邮件,手动执行的时候没有问题,但添加到计划任务后发送的邮件就中文乱码,变成一个不知名的附件形式: 上网查了下原因 产生原因: 这是因为Unix/Linux下使用cro ...
- linux定时python,linux 中定时执行python脚本
一.让Python随Linux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令(编辑rc. ...
最新文章
- 应用层下的人脸识别(一):图像获取
- 网站建设需遵循用户访问习惯
- 微软服务器系统玩游戏,微软将于2020年1月22日关闭Windows7游戏服务器
- atan与atan2的区别
- Android之AIDL使用详解
- 代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file
- react 嵌套渲染_React-Router v5 中文翻译之快速开始
- Python之UDP通讯简单例子
- python面向对象的含义_Python面向对象(一)
- 利用JavaScript生成随机数字!
- Kinect for Windows sdk下载 以及安装时错误的解决方案
- mysql pxc 安装_MYSQL PXC 集群安装
- 原生html5时间组件,amazeui时间组件的实现示例
- Isilon上数据是如何存放的?
- java程序一维数组能被5整除,JAVA鏈熸湯璇曢闆?鍚瓟妗? - 鐧惧害鏂囧簱
- CPU卡指令文件读取算法
- 企业微信——定时群机器人布置
- 逻辑思维训练和推理思维训练
- 小程序滑动点击切换中间大图两边小图
- Vue table 点击按钮展开折叠面板