類UNIX系統的調度命令:cron
在類unix系統中,cron是經常使用的調度命令,是系統自帶的。
crontab 是cron的調度文件,只要往這個文件里增加一個記錄項,就會增加一個調度。crontab文件通常位于/etc/contab。
crontab里的記錄項就是一個字符串,這個字符串的前半部分是調度方式,后半部分是要調度的命令行,也就是kettle的kitchen(執行作業)和pan(執行轉換)命令,或者是調用kitchen或者pan的shell腳本。
需要了解的一點crontab的基本知識
- 賬號的使用情況
/etc/cron.allow:
將可以使用 crontab 的帳號寫入其中,若不在這個檔案內的使用者則不可使用 crontab;
/etc/cron.deny:
將不可以使用 crontab 的帳號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab 。
預設情況下,任何使用者只要不被列入 /etc/cron.deny 當中,那麼他就可以直接下達『 crontab -e 』去編輯自己的例行性命令了! -
基礎常識(截取自鳥哥的linux私房菜)
linux下的kettle定時調度
- 新建一個shell腳本執行kettle的調度
vim job.sh
添加如下內容:
export JAVA_HOME=/usr/java/jdk1.8.0_40
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
/opt/kettle/data-integration/kitchen.sh /opt/kettle/wy/job/test.kjb >>/opt/kettle/kettle_`date +%Y%m%d`.log #使用kitchen執行test這個job,并生成日志文件
可以執行kitchen.sh文件來查看相關參數。根據需要進行更改。如下:
注意:
在腳本中應指定 SHELL,PATH,HOME 變量, 否則很容易出現腳本,命令找不到的情況。我這里就將執行kettle的環境變量添加到了shell腳本中。
- 配置crontab文件
[kettler@localhost kettle]$ crontab -e
添加如下內容:
0 2 * * * /opt/kettle/job.sh #每天晚上兩點執行這個shell腳本
這樣就可以實現每晚2點定時執行我們的kettle的job了。