linux之上傳檔案至windows

liqilin0429發表於2011-03-04

利用指令碼上傳linux伺服器上的檔案到win伺服器上
第一:搭建win FTP伺服器
1 安裝IIS元件。
一般系統安裝時都沒有安裝此元件的,所以請到控制皮膚,在“新增/刪除程式”裡開啟“新增/刪除Windows元件”一項,在彈
出的視窗裡將“intenet資訊服務(IIS)”選中;再點右下角“詳細資訊”,勾選“檔案傳輸協議(FTP)服務”,最後確定即可。

2 設定需要共享的目錄路徑。
此目錄就是別人訪問你的FTP伺服器時看到的檔案列表。在控制皮膚的管理工具裡,開啟“internet資訊服務”。在視窗左面找
到“FTP站點”並開啟下拉選單,之後在“預設FTP站點”上點右鍵選屬性,切換到如下圖所示的“主目錄”選項卡。在“本地
路徑”框中的地址為預設FTP共享目錄,請點選瀏覽指定到你的實際共享目錄;另外在這裡還可以設定FTP伺服器的檔案訪問權
限,為安全考慮,一般我們只開放讀取許可權,以防匿名使用者隨意修改目錄檔案,合法使用者有需要時才針對性的開啟“寫入”許可權。

3 完善配置。
在“預設FTP站點”視窗裡切換到“安全帳戶”,去掉“允許匿名連線”前的勾;在訊息選項卡中可設定當使用者訪問、退出你的
FTP伺服器時出現的提示資訊,隨你喜歡寫吧!還有個“最大連線數”的設定,它是指同時連線本地FTP的最多主機臺數,如果
你的電腦配置不是很好的話,建議不要超過5。

第二:編寫指令碼檔案
[root@cacti oracle]# cat putftp.sh
#!/bin/bash
#ftp -n<LOGFILE=/home/oracle/ftplog.log
date
echo  "--------------ftp mput files begin------------">> $LOGFILE
echo "open 192.168.100.223
user administrator saijuan0710
binary
bash
lcd  /home/oracle/rmanbak
prompt
prompt
prompt
mput *
bye
" | ftp -n
date
echo  "-------------ftp mput files complete ---------">> $LOGFILE

第三:給指令碼putftp.sh授權(chmod 775 putftp.sh)
第四:測試
第五:使用linux crontab實時定時上傳
21 14 * * * /home/oracle/putftp.sh >> /dev/null 2&1

備註:

-v顯示遠端伺服器的所有響應資訊;
-n限制ftp的自動登入,即不使用;
-關閉ftp中mput的上傳確認提示:prompt

ftp>prompt
切換交談式指令(使用mput/mget 時不用每個檔案皆詢問yes/no)

這樣就可以使用 mput *讓它慢慢上傳   

ftp> help prompt
prompt    force interactive prompting on multiple commands

ftp> prompt
Interactive mode off.
ftp> prompt
Interactive mode on.
ftp> prompt
Interactive mode off.
ftp>


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-688435/,如需轉載,請註明出處,否則將追究法律責任。

相關文章