1. 程式人生 > >Linux下crontab命令新增Kettle作業定時任務

Linux下crontab命令新增Kettle作業定時任務

1. 確保作業 $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb 或轉換 $KETTLE_HOME/pan.sh -file=/data1/testdata/testktr.ktr 能在Linux下正常執行

    此步驟在JDK配置正確,(Ps.可選擇配置Kettle的環境變數,主要是定位程式所在主目錄,不用每次引用絕對路徑),當前使用者擁有對應*.sh檔案有執行許可權的情況下,很少有       其它問題。

2.編寫執行Kettle作業或轉換的execron.sh指令碼,此處特別要注意紅色標註部分,Shell腳本里面要執行一下重新整理當前系統環境變數的操作,因為crontab命令執行指令碼時不會讀取當    前的環境變數

   #!/bin/bash
   source /etc/profile
   #$KETTLE_HOME/pan.sh -file=/data1/testdata/testktr.ktr   

   $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb

3. crontab -e 進入定時任務編輯檔案,命令格式見下方:

   # Example of job definition:
   # .---------------- minute (0 - 59)
   # |  .------------- hour (0 - 23)
   # |  |  .---------- day of month (1 - 31)
   # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
   # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
   # |  |  |  |  |
   # *  *  *  *  * user-name command to be executed    

   分 時 日 月 周 命令 
   第1列表示分鐘1~59 每分鐘用*或者 */1表示 
   第2列表示小時1~23(0表示0點) 
   第3列表示日期1~31 
   第4列表示月份1~12 
   第5列標識號星期0~6(0表示星期天) 
   第6列要執行的命令

   例如:每天早上7:50執行一次execron.sh

   50 7 * * * /data1/testdata/execron.sh

   詳細執行命令解釋請參考百度百科: