作者 主題: 關於Ftp 檔案傳輸  (閱讀 7856 次)

0 會員 與 1 訪客 正在閱讀本文。

Ted_Kuo

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
關於Ftp 檔案傳輸
« 於: 2007-08-01 23:37 »
請教各位高手,我想寫一串指令能夠完成我一整個動作,但是我又不知道該怎麼處理,例如 ftp 220.132.xxx.xxx 然後 輸入帳號 aaa,輸入密碼 xxxx,接著 mget * /. 我要將所有檔案下載,接下來我要怎麼判定完成後,自動輸入 bye 好離開ftp,我是將所有指令存成一個 shell script 然後再去執行,我已經在 root 下建立一個檔案 .netrc,所以帳號跟密碼已經不需要輸入,只要輸入 ftp xxx.xxx.xxx.xxx就可以進入,但是後面的指令並沒有辦法在 ftp>裡面自行完成,當我手動輸入 bye之後,後續的指令才會執行,請教一下,我該怎麼完成這樣子的 shell script,又該如何判別是否已經下載完成呢,請各位高手幫幫忙。

protech

  • 活潑的大學生
  • ***
  • 文章數: 322
  • 性別: 男
    • 檢視個人資料
關於Ftp 檔案傳輸
« 回覆 #1 於: 2007-08-02 03:55 »
有考慮用別的指令嗎 ??

curl , wget .....

Ted_Kuo

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
關於Ftp 檔案傳輸
« 回覆 #2 於: 2007-08-02 18:44 »
都可以...只要能完成我要的功能...請大大指點

justfor1221

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
    • http://blog.pixnet.net/justfor1221
Re: 關於Ftp 檔案傳輸
« 回覆 #3 於: 2007-08-02 19:46 »
引述: "Ted_Kuo"
請教各位高手,我想寫一串指令能夠完成我一整個動作,但是我又不知道該怎麼處理,例如 ftp 220.132.xxx.xxx 然後 輸入帳號 aaa,輸入密碼 xxxx,接著 mget * /. 我要將所有檔案下載,接下來我要怎麼判定完成後,自動輸入 bye 好離開ftp,我是將所有指令存成一個 shell script 然後再去執行,我已經在 root 下建立一個檔案 .netrc,所以帳號跟密碼已經不需要輸入,只要輸入 ftp xxx.xxx.xxx.xxx就可以進入,但是後面的指令並沒有辦法在 ftp>裡面自行完成,當我手動輸入 bye之後,後續的指令才會執行,請教一下,我該怎麼完成這樣子的 shell script,又該如何判別是否已經下載完成呢,請各位高手幫幫忙。


如果web服務有開的話
可以把想要的東西先tar起來後
丟到網頁資料夾去
然後利用
wget http://IP/檔案名稱
就可以囉~

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 關於Ftp 檔案傳輸
« 回覆 #4 於: 2007-08-02 20:24 »
引述: "Ted_Kuo"
請教各位高手,我想寫一串指令能夠完成我一整個動作,但是我又不知道該怎麼處理,例如 ftp 220.132.xxx.xxx 然後 輸入帳號 aaa,輸入密碼 xxxx,接著 mget * /. 我要將所有檔案下載,接下來我要怎麼判定完成後,自動輸入 bye 好離開ftp,我是將所有指令存成一個 shell script 然後再去執行,我已經在 root 下建立一個檔案 .netrc,所以帳號跟密碼已經不需要輸入,只要輸入 ftp xxx.xxx.xxx.xxx就可以進入,但是後面的指令並沒有辦法在 ftp>裡面自行完成,當我手動輸入 bye之後,後續的指令才會執行,請教一下,我該怎麼完成這樣子的 shell script,又該如何判別是否已經下載完成呢,請各位高手幫幫忙。


直接用 wget -m -np ftp://user:password@server/path/path2/* 這樣試試看
冷笑話: 我的 IP 是 127.0.0.1

HaWay

  • 大隻佬!
  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 3980
    • 檢視個人資料
關於Ftp 檔案傳輸
« 回覆 #5 於: 2007-08-02 21:51 »
google "shell scripts ftp"
有很多資料. 應該有你要的
我做人那麼 nice, 肯定有什麼誤會.....

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
Re: 關於Ftp 檔案傳輸
« 回覆 #6 於: 2007-08-02 22:35 »
引述: "Ted_Kuo"
請教各位高手,我想寫一串指令能夠完成我一整個動作,但是我又不知道該怎麼處理,例如 ftp 220.132.xxx.xxx 然後 輸入帳號 aaa,輸入密碼 xxxx,接著 mget * /. 我要將所有檔案下載,接下來我要怎麼判定完成後,自動輸入 bye 好離開ftp,我是將所有指令存成一個 shell script 然後再去執行,我已經在 root 下建立一個檔案 .netrc,所以帳號跟密碼已經不需要輸入,只要輸入 ftp xxx.xxx.xxx.xxx就可以進入,但是後面的指令並沒有辦法在 ftp>裡面自行完成,當我手動輸入 bye之後,後續的指令才會執行,請教一下,我該怎麼完成這樣子的 shell script,又該如何判別是否已經下載完成呢,請各位高手幫幫忙。


getfile.sh :

代碼: [選擇]

#!/bin/bash

ftp ftp.xxx.com.tw << EOF
cd /path
binary
prompt
mget *
quit
EOF


--
I am kenduest - 小州

my website: http://kenduest.sayya.org/

Ted_Kuo

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
關於Ftp 檔案傳輸
« 回覆 #7 於: 2007-08-02 23:20 »
剛剛試了一下....可惜我的機台並不支援 wget 這個指令......糟糕了

Ted_Kuo

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
關於Ftp 檔案傳輸
« 回覆 #8 於: 2007-08-03 00:07 »
我改試了其他方法

代碼: [選擇]
#!/bin/bash
# Update multimedia files
ftpuser="XXX"
ftppasswd="XXXXXX"

ftp -vin xxx.xxx.xxx.xxx <<command
user $ftpuser $ftppasswd
binary
prompt
mget *.*
bye
command


系統出現 -sh: ./222.sh: Permission denied   訊息
我改了權限  chmod +x 222.sh  不行
試了  source ./222.sh  我的機台好像沒 source 這個指令...我頭暈了...請各位大哥指點迷津

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
關於Ftp 檔案傳輸
« 回覆 #9 於: 2007-08-03 01:03 »
引述: "Ted_Kuo"
我改試了其他方法

代碼: [選擇]
#!/bin/bash
# Update multimedia files
ftpuser="XXX"
ftppasswd="XXXXXX"

ftp -vin xxx.xxx.xxx.xxx <<command
user $ftpuser $ftppasswd
binary
prompt
mget *.*
bye
command


系統出現 -sh: ./222.sh: Permission denied   訊息
我改了權限  chmod +x 222.sh  不行
試了  source ./222.sh  我的機台好像沒 source 這個指令...我頭暈了...請各位大哥指點迷津


...............................

1. chmod 755 your_file.sh
2. 帳號密碼是寫在 .netrc 內,不是這個 shell script 內。

--
I am kenduest - 小州

my website: http://kenduest.sayya.org/

hsiao_peter

  • 憂鬱的高中生
  • ***
  • 文章數: 106
    • 檢視個人資料
回覆: 關於Ftp 檔案傳輸
« 回覆 #10 於: 2009-04-28 08:00 »
chmod 600 .netrc

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
回覆: 關於Ftp 檔案傳輸
« 回覆 #11 於: 2009-04-28 13:21 »
回樓主:
你用 7 樓的寫法就是一般 shell script 的解法了。

如果願意加裝 ncftp 套件,就可以一行搞定;此外,ncftp 有個好處,就是回傳值很多,
可以供你 schell script 判斷,高度自動化。
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 關於Ftp 檔案傳輸
« 回覆 #12 於: 2009-05-02 02:49 »

ncftp ? 許多發行版本已經丟棄這個程式了呢...

目前許多發行版本都收錄提供 lftp 程式,建議請多利用 :)
I am kenduest - 小州

my website: http://kenduest.sayya.org/