本人最近要用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. cs244a-Introduction to Computer Networking-Unit1

    Unit 1 学习目标: how an application use the Internet The structure of the Internet:The 4 layer model The ...

  2. 如何减少程序间的耦合度?_DI与接口

    spring 开发提倡接口编程,配合DI技术可以更好的减少层(程序)与层(程序)之间的解耦合例子说明:  任务:要求:        1.打印机依赖纸张和墨盒        2.纸张有A4和B5两种  ...

  3. ELK的搭建以及使用

    一.架构如图: 二.工作机制: 在需要收集日志的应用上安装filebeat(需要修改配置文件,配置文件稍后介绍),启动filebeat后,会收集该应用的日志推送给redis,然后logstash从re ...

  4. 11.jQuery之自定义动画

    注意:animate里面是一个对象,他有几个参数,详情可以参考官网 <style> div { position: absolute; width: 200px; height: 200p ...

  5. luogu P5371 [SNOI2019]纸牌

    传送门 打麻将+1(雾 有顺子这种东西...注意到以某个位置为开头的顺子数量最多为2,那么有个想法就是枚举以每个位置为开头的顺子个数,然后每个位置的刻子的取法个数为\(\lceil\frac{\tex ...

  6. springmvc中的视图模型的返回方式

    way1:略过; way2:(神似way1)通过在方法的参数中添加一个Model类型的参数,,该参数由spring自动生成传入, 然后在方法内部使用addAttribute()方式添加模型数据, 最后 ...

  7. XXE漏洞攻击与防御

    转自https://www.jianshu.com/p/7325b2ef8fc9 0x01 XML基础 在聊XXE之前,先说说相关的XML知识吧. 定义 XML用于标记电子文件使其具有结构性的标记语言 ...

  8. Nginx进行UDP的负载均衡

    准备工作: 服务器1:192.168.33.102     搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103    nginx要反向代理的服务器 一.在服务器1上搭建n ...

  9. 【转】rsa公钥和私钥的生成

    转:https://www.cnblogs.com/zengsf/p/10136886.html 在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_k ...

  10. mapper映射文件配置之insert、update、delete(转载)

    原文地址:http://www.cnblogs.com/dongying/p/4048828.html 在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, i ...