2012年10月29日 星期一

如何在AIX作業系統排程crontab中執行sftp指令 (以RSA key認證時)

建議先讀一下這篇...算是前文吧...
使用 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