本人最近要用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脚本的更多相关文章

  1. Linux系统crontab定时调度Python脚本

    Linux系统crontab定时调度Python脚本 一.Python脚本随Linux开机自动运行 #Python脚本:/home/edgar/auto.py #用root权限编辑以下文件:/etc/ ...

  2. linux crontab定时执行shell脚本

    linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:crontab -e 编辑周期任务30 21 * * * /etc/init.d/smb restart 每晚的 ...

  3. crontab定时执行shell脚本失败的原因

    有一段时间不用crontab定时执行任务了,这次趁着项目实施的机会来进一步分析一下crontab定时任务设置时遇到的一些棘手的问题. crontab -l 查看目前已经设置的crontab信息 cro ...

  4. linux下crontab定时执行shell脚本调用oracle 存储过程

    问题:脚本内调用存储过程,脚本直接执行没问题,使用crontab 执行脚本存储过程未执行 原因:缺少oracle环境变量 解决:在shell脚本里添加oracle的环境变量 #!/bin/sh PAT ...

  5. crontab定时执行shell脚本

    步骤一    首先我们先看一下是否安装了crontab.一般情况下linux系统会自带crontab及crond.如果没有安装,请使用以下指令安装:yum install vixie-cron     ...

  6. Hadoop生态圈-Oozie实战之调度shell脚本

    Hadoop生态圈-Oozie实战之调度shell脚本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客展示案例:使用Oozie调度Shell脚本. 1>.解压官方案例 ...

  7. Linux 定时执行shell脚本命令之crontab

    crontab可以在指定的时间执行一个shell脚本以及执行一系列Linux命令 例如:服务器管理员定时备份数据库数据.日志等 详解: 常用命令: crontab –e //修改 crontab 文件 ...

  8. Linux中使用crontab命令定时执行shell脚本或其他Linux命令

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...

  9. 【转】linux 定时执行shell脚本

    在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

随机推荐

  1. CS起源:实现狙击子弹加速

    在前面的课程 FPS 游戏实现方框透视 中我们实现了对CS中游戏人物的透视效果,今天我们就来研究下狙击枪如何变成机关枪!原理很简单,直接去掉枪的上膛动画,配合无线子弹就完事了,这里只提供一种分析思路. ...

  2. C# ref out parase 理解

    这节课我们来学习方法中的参数传递,在面向对象二中,我曾说过,参数也属于变量的一种,在c语言的学习时,同学们都学习过参数这个概念和用法,方法使用参数列表来传递变量的基本语法如下:returnType  ...

  3. google浏览器切换成中文

    新浪下载地址:http://down.tech.sina.com.cn/content/40975.html 默认字体好像是西班牙语 1.浏览器地址chrome://settings/language ...

  4. PHP实现无限极分类的两种方式

    无限极分类说简单点就是一个类可以分成一个分子类,然后一个子类又可以分另一个子类这样无限分下去,就是好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一个文件夹,PHP要实现无限极分类有两 ...

  5. cx_Oracle 操作oracle数据库

    cx_Oracle 操作oracle数据库 class MyOracle(): def __init__(self, host_name="ip", port=1521, sid= ...

  6. Linux上安装ElasticSearch及遇到的问题

    在Linux上安装ElasticSearch 1. 安装前环境准备 安装JDK环境,并配置环境变量,这里可以参考我以前写过的博客 https://www.cnblogs.com/ywb-article ...

  7. intellij 编译 springmvc+hibernate+spring+maven 找不到hbm.xml映射文件

    1. 错误信息 Invocation of init method failed; nested exception is org.hibernate.MappingNotFoundException ...

  8. 万兴神剪手 Wondershare Filmora v9.2.11.6 简体中文版

    目录 1. 介绍 2. 简体中文9.2.1.10汉化版下载 3. 安装和激活说明 1. 介绍 万兴神剪手 Filmora 是一款界面简洁时尚.功能强大的视频编辑软件,它是深圳万兴科技公司近年来的代表作 ...

  9. nodejs express 部署

    一.express 4.x版本之前 全局安装express 命令是 npm install express -g express 4.x版本之后 全局安装express 命令是 npm install ...

  10. 020-zabbix修改主机名为中文名

    我这边zabbix版本有2.4和3的都有. 要让zabbix主机名支持中文,,需要修改zabbix的php代码文件,如下图修改完中文主机名是不支持的: 实现步骤: 进到zabbix web目录,一般在 ...