crontab定时调度shell脚本
本人最近要用crontab做一个定时调度任务,调一个启动脚本去执行jar包,并给main方法传一个日期参数。
Linux系统:CentOS7
输入:
crontab -e
在里面编写:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin #分 时 天 月 星期 脚本路径
05 15 * * * /bin/sh /data/IPPParser/startup_cyc.sh
意思就是每天下午15:05 去执行startup_cyc.sh这个脚本。
脚本的内容:
#使JAVA_HOME生效
source /root/.bash_profile
#进入项目根路径
cd /data/IPPParser
#!/bin/sh if [ -z "$JAVA_HOME" ]; then
echo "Please configure the JAVA_HOME!"
exit
fi JAVA_OPTION="-Dfile.encoding=UTF-8 -Xmx256M -Xms256M"
#jar包名称
JAR_NAME=ippparser.jar
#传的参数
PARSE_DATE=`date -d "yesterday" +%Y%m%d`
#调用jar包命令
java $JAVA_OPTION -jar $JAR_NAME $PARSE_DATE
问题汇总:
一.crontab不生效,需要检查的地方
1.检查cron状态
service crond status
可以看到crontab是active状态

如果不是这个状态,说明crontab没有启动。
重启:systemctl restart crond
2.检查cron是否有调用shell命令

可以看到cron在15:05有调用脚本。
3.cron调用了命令,但是没生效(如:手动调脚本可以执行,但是cron调用不行)
看cron邮件: cat /var/spool/mail/root

说明我们的程序已经成功调用。如果有错误会打印出来。
4.找不到无法加载主类
一般是相对路径问题,打印一下路径,检查是否正确。
5.crontab调用时,自己是检测不到jJAVA_HOME的,需要在脚本里加上 source /root/.bash_profile,这样才能找到你的JAVA_HOME。
crontab定时调度shell脚本的更多相关文章
- Linux系统crontab定时调度Python脚本
Linux系统crontab定时调度Python脚本 一.Python脚本随Linux开机自动运行 #Python脚本:/home/edgar/auto.py #用root权限编辑以下文件:/etc/ ...
- linux crontab定时执行shell脚本
linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:crontab -e 编辑周期任务30 21 * * * /etc/init.d/smb restart 每晚的 ...
- crontab定时执行shell脚本失败的原因
有一段时间不用crontab定时执行任务了,这次趁着项目实施的机会来进一步分析一下crontab定时任务设置时遇到的一些棘手的问题. crontab -l 查看目前已经设置的crontab信息 cro ...
- linux下crontab定时执行shell脚本调用oracle 存储过程
问题:脚本内调用存储过程,脚本直接执行没问题,使用crontab 执行脚本存储过程未执行 原因:缺少oracle环境变量 解决:在shell脚本里添加oracle的环境变量 #!/bin/sh PAT ...
- crontab定时执行shell脚本
步骤一 首先我们先看一下是否安装了crontab.一般情况下linux系统会自带crontab及crond.如果没有安装,请使用以下指令安装:yum install vixie-cron ...
- Hadoop生态圈-Oozie实战之调度shell脚本
Hadoop生态圈-Oozie实战之调度shell脚本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客展示案例:使用Oozie调度Shell脚本. 1>.解压官方案例 ...
- Linux 定时执行shell脚本命令之crontab
crontab可以在指定的时间执行一个shell脚本以及执行一系列Linux命令 例如:服务器管理员定时备份数据库数据.日志等 详解: 常用命令: crontab –e //修改 crontab 文件 ...
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...
- 【转】linux 定时执行shell脚本
在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...
随机推荐
- C++ 内联函数 inline关键字
inline 关键字主要功能是为了 代替掉 宏代码片段. 在C++中使用关键字inline关键字声明内联函数. inline int fun(int a,int b) { return a < ...
- jse中将数据反转
public class test { public static void main(String args[]){ String arr[]={"1","2" ...
- Css布局 响应式布局介绍
1. 概念: 写一套css样式可以同时适配多个终端,是为解决移动互联网诞生的. 2. 作用: 面对不同的分辨率设备灵活性强,能够快捷解决多设备显示适应问题 3. 原理 媒体查询 ① 外联式媒体查询语法 ...
- java并发编程:线程同步和锁
一.锁的原理 java中每个对象都有一个内置锁.当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例(this)有关的锁.获得一个对象的锁也称为获取锁,当程序运 ...
- install - 复制文件并设置属性
SYNOPSIS[总览] install [options] [-s] [--strip] source dest install [options] [-s] [--strip] source... ...
- linux把用户添加到组
使用 usermod 命令 将现有的用户添加到多个次要组或附加组 # usermod -a -G GroupName UserName id 命令查看输出 # id UserName 用户添加到多个次 ...
- UILabel的行间距,字间距处理
啥都不说了,直接上代码,做了一个Category #import <UIKit/UIKit.h> @interface UILabel (ChangeLineSpaceAndWordSpa ...
- 【洛谷P2894】Hotel 线段树+二分查询
题目大意:给定一个长度为 N 的序列,每个点有两种状态 1/0,表示占有和空闲,现支持 first-fit 查询是否有一段连续的长度为 X 的空闲子序列和区间赋值操作. 题解:get到了线段树新技能. ...
- CSS基础-如何用border写三角形?
1.常用的border的单值属性(border指的是边框.) /*边框样式属性*/ border-style: solid; /*边框颜色*/ border-color: #06a43a; /*边框宽 ...
- mybatis简单用法
1.resultType 和 resultMap 引言: MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表 ...