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
詳細執行命令解釋請參考百度百科: