記一次linux下 crontab 定時任務命令

公司在某銀行項目中,有這麼一個需求,使用linux或者unix系統中用系統的定時任務調用項目裏的java代碼執行,於是做了如下準備

crontab命令常見於Unix和Linux的操作系統之中,用於設置週期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於"crontab"文件中,以供之後讀取和執行。所以妥妥的使用crontab命令,話不多說,直接硬菜。

一、執行的流程(都需要什麼文件,怎麼執行的)

1、項目需求要執行的任務。(java類man方法,比如每分鐘,每秒鐘,固定時間12點,刷某個字段,或者導出xx等需求或者功能)

2、編寫一個腳本,用來調用 1中的代碼(shell腳本,指定執行命令)

3、linux中配置定時任務,固定時間(1中所規定的時間)調用2中腳本

二、編寫項目要執行的類(做什麼事)

package com.simp.service.person;

import com.simp.property.Debug;

/**
 * 指定備機器定時刷新任務
 * 加入linux的計劃corntab
 * 執行方法:(推薦)/usr/local/java/jdk1.8.0_11/bin/java -Djava.ext.dirs=/usr/local/tomcat/webapps/iam/WEB-INF/lib/ com.simp.service.person.PersonCheck
 * 或者:/usr/local/java/jdk1.8.0_11/bin/java -cp /usr/local/tomcat/webapps/iam/WEB-INF/lib/iam.app.5.0.enc.jar:/usr/local/tomcat/webapps/iam/WEB-INF/lib/iam.base.5.0.enc.jar com.simp.service.person.PersonCheck
 *
 */
public class PersonCheck{
	
	public static void main(String[] args) {

		Debug.info("你要做的任務。。。執行了!!");
		
	}
}

三、編寫執行腳本放在linux中指定位置(自己指定一個位置)

/usr/local/bin/check_person.sh

#!/bin/bash


/usr/local/java/jdk1.8.0_11/bin/java -Djava.ext.dirs=/usr/local/tomcat/webapps/iam/WEB-INF/lib/ com.simp.service.person.PersonCheck

四、linux系統配置定時任務(重點難點)

1、在/etc/crontab下設置,指定用戶名的

2、重啓crontab,使配置生效/etc/init.d/crond restart

ok完成結束

五、crontab擴展

crontab調度是最低是按照分鐘執行的,時間配置如下圖

如果是秒級也不是不可以,因爲我們項目要求比較高,所以進行到秒級,經過一番研究,做成如下了,可以借鑑

目前總結就這些,以後有類似需求就以這個爲標準繼續擴展

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章