zoukankan      html  css  js  c++  java
  • 关于定时脚本crontab的坑

     

    需求:

    每分钟执行一次程序,将处理后的数据写入mongodb

    最初做法:

    1):写crontab没有响应,于是打算通过shell脚本的while true来执行

    当时sb,没控制时间内,而且我还是用nohup XXXX.sh 2>&1 &

    结果就是,几乎每一个瞬间启动一个jar,服务器内存瞬间沾满

    解决:利用awk命令处理

    kill -9 $(ps -ef | grep jar | awk '{print $2}'

    2):重新解决crontab问题

    crontab很坑,坑的原因有俩:

    第一个坑:crontab无法识别环境变量

    比如你定时执行java程序,那么通过定时脚本执行:

    * * * * * /root/submit_jars/dbScan.sh >> /root/dbscan.log 2>&1

    会出现这样的错误:java : commond not found

    第二个坑:jarfile not fount

    解决:

    两个坑一起解决:

    第一个坑:脚本中添加source /etc/profile

    第二个坑:脚本中的jar包需要全路径

    我的脚本:

    #! /bin/bash
    source /etc/profile
    java -Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC  -XX:NewRatio=1 -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15 -XX:ParallelGCThreads=2 -XX:G1HeapRegionSize=10m -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -Xloggc:/root/submit_jars/gc.log  -jar /root/submit_jars/dbscanToMongo.jar 2019-04-01 00:00:00 2019-05-01 00:00:00 3000 1 och_ci hot_chart_push_data och_ci BKDFmME9 order_info_201904
  • 相关阅读:
    三位水仙花数
    常用Json
    毫秒数日前格式化
    常用ajax请求
    T-SQL应用,视图、存储过程、触发器、游标、临时表等
    SQL2-子查询、join查询
    SQL1-(增删改查、常用函数)
    html回车事件
    插入数据,返回最新id
    iframe高度自适应
  • 原文地址:https://www.cnblogs.com/niutao/p/10778628.html
Copyright © 2011-2022 走看看