2012年8月17日 星期五
如何在排程crontab中執行informix dbaccess指令
作業系統 AIX 5.3
原本把這shell寫成可執行檔(xxx.sh)是可以執行並且正常輸出
結果放在排程(crontab)裡就無法輸出執行結果
氣死我了
google了很久,才知道在排程中執行informix dbaccess指令需要一併設定環境變數
在排程中是吃不到informix環境變數的,所以crontab裡的job就會失敗
dbaccess這個指令也加上絕對路徑來下
最後改好能順利放在crontab的程式(xxx.sh)長這樣:
=============================
#!/bin/ksh
./.profile
INFORMIXSERVER=test
export INFORMIXSERVER
INFORMIXDIR=/usr/informix
export INFORMIXDIR
ONCONFIG=/usr/informix/etc/onconfig
export ONCONFIG
echo "***** `date '+%m/%d %H:%M:%S'` *****" >> /home/informix/checkuser.log
/usr/informix/bin/dbaccess test /home/informix/cu.sql
=============================
(寫得不好請見諒 因為我很菜 也是copy網路來改 只求能跑 不求精美)
上面的環境變數的值,記得改成自家的
最重要的一行彩色字,簡單說明一下:
/usr/informix/bin/dbaccess →加了絕對路徑就無敵的dbaccess
test →DB名稱
/home/informix/cu.sql →這是我要執行的sql查詢句,看倌們可以任意替換路徑和檔名
註:
研究兩三天,最後打成網誌就這麼一丁點
真他奶奶的