隨筆-200  評論-148  文章-15  trackbacks-0

          Linux 下ftp自動登錄 
           
           
          操作系統:linux
          說明:使用了expect,參數為ftp服務器地址和要下載的文件名
          參數:lindex $argv 0  讀取ftp服務器ip地址
               lindex $argv 1  讀取要下載的文件名
          編輯:
          #vi ftp.sh
          spawn ftp [lindex $argv 0]
          expect "Name (*):"
          send "anonymous\r"
          expect "Password:*"
          send "\r"
          expect "ftp>"
          send "binary\r"
          expect "ftp>"
          send "hash\r"
          expect "ftp>"
          send "get [lindex $argv 1]\r"
          expect "* Transfer complete."
          send "exit\r"
          執行方法:expect ftp.sh 服務器ip地址  文件名稱
                  (expect ftp.sh 192.168.0.1 filename.txt )
           
          擴展:可以根據需要把用戶名和密碼也作為參數輸入里邊,這個根據個人需求去做
           
           
          使用Shell腳本來實現FTP的自動上傳下載
          1. FTP自動登錄批量下載文件。

          #####從ftp服務器上的/home/data 到 本地的/home/databackup####

          #!/bin/bash

          ftp -n<<!

          open 192.168.1.171

          user guest 123456

          binary

          cd /home/data

          lcd /home/databackup

          prompt

          mget *

          close

          bye

          !
           
          2. FTP自動登錄上傳文件。

          ####本地的/home/databackup to ftp服務器上的/home/data####

          #!/bin/bash

          ftp -n<<!

          open 192.168.1.171

          user guest 123456

          binary

          hash

          cd /home/data

          lcd /home/databackup

          prompt

          mput *

          close

          bye

          !
           

           
          3. FTP自動登錄下載單個文件。

          ####ftp服務器上下載/home/data/a.sh to local /home/databackup####

          #!/bin/bash

          ftp -n<<!

          open 192.168.1.171

          user guest 123456

          binary

          cd /home/data

          lcd /home/databackup

          prompt

          get a.sh a.sh

          close

          bye

          !
           

          4. FTP自動登錄上傳單個文件。

          ####把本地/home/databachup/a.sh up ftp /home/databackup 下####

          #!/bin/bash

          ftp -n<<!

          open 192.168.1.171

          user guest 123456

          binary

          cd /home/data

          lcd /home/databackup

          prompt

          put a.sh a.sh

          close

          bye

          !
           

          使用.netrc文件方式自動登錄

          在用戶目錄下下建.netrc的文件
          .netrc文件的內容如下:
                  machine         host2        :host2作為登陸用的主機名
                  login        username        :ftp用戶名
                  password         userpwd        : host2用戶的口令
                  macdef                init        :定義一個名為init的宏,它將在自動注冊進程的最后被執行
                  bin                        :文件以二進制傳輸
                  lcd                /backup        :進入本地目錄/backup
                  cd                /pub        :進入遠程主機目錄/pub
                  mput                        :將/backup目錄下的所有文件傳輸至遠程主機
                  bye                        :退出ftp
          并修改文件屬性:$chmod 600 .netrc即該文件只能被該用戶訪問
          posted on 2010-12-29 10:53 無聲 閱讀(3482) 評論(1)  編輯  收藏 所屬分類: 職場生活

          評論:
          # re: Linux 下ftp自動登錄 2012-07-28 16:52 | 啊啊啊
          登錄以后怎么能做到不退出啊?  回復  更多評論
            
          主站蜘蛛池模板: 清新县| 奉化市| 万载县| 镶黄旗| 互助| 涪陵区| 山阴县| 郎溪县| 汕尾市| 中西区| 辽宁省| 杭州市| 钟山县| 化州市| 久治县| 房产| 武威市| 奎屯市| 南江县| 开平市| 阳西县| 湖州市| 昌图县| 四子王旗| 毕节市| 定日县| 卫辉市| 苏尼特左旗| 杨浦区| 温州市| 申扎县| 漠河县| 祁阳县| 新巴尔虎右旗| 北安市| 始兴县| 花莲市| 巩义市| 营山县| 延安市| 黔东|