建議先讀一下這篇...算是前文吧...
《使用 SFTP with RSA key 認證 (不需密碼)》
http://n9tech.blogspot.tw/2012/08/aix53-sftp-with-rsa-key.html
作業系統:AIX 5.3
AIX作業系統下,SFTP使用RSA key認證時的shell script放在排程(crontab)裡的寫法,跟FTP不同
得修改程式架構
並不是把原程式裡的FTP指令前面加個S這麼簡單 (←這是我一開始的幻想 嗚)
AIX環境中,必須使用sftp -b這個參數,並把「連線指令」跟「上傳/下載指令」分開成兩個檔案
在crontab中只要執行「連線指令」的shell script檔案即可
(1) sftp.sh →連線指令shell script,一行解決
=================================================
sftp -b /user/sftp.cmd testsftp@10.11.11.11
=================================================
說明一下
sftp -b:請愛用-b參數
/user/sftp.cmd:絕對路徑+上傳/下載指令檔名
testsftp@10.11.11.11:建好RSA Key的帳號@對方主機IP
(2) sftp.cmd →sftp指令
=================================================
ls
cd /raw //切換遠端目錄
pwd
lcd /home/abc/ //切換本地目錄
mput * //上傳所有檔案...下載就是get / mget
bye
=================================================
所以本例,在crontab就是執行(1)那支sftp.sh
總之...又是一個說破就不值錢的東西XD
2012年10月29日 星期一
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查詢句,看倌們可以任意替換路徑和檔名
註:
研究兩三天,最後打成網誌就這麼一丁點
真他奶奶的
訂閱:
文章 (Atom)