隨筆-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 | 啊啊啊
          登錄以后怎么能做到不退出???  回復  更多評論
            
          主站蜘蛛池模板: 乌鲁木齐市| 汝阳县| 武平县| 勐海县| 金沙县| 特克斯县| 边坝县| 鄂尔多斯市| 甘孜县| 平远县| 鲁甸县| 县级市| 乌鲁木齐县| 建瓯市| 庆云县| 霍城县| 金昌市| 凭祥市| 冷水江市| 南澳县| 繁峙县| 东山县| 叶城县| 海原县| 日土县| 寿光市| 同江市| 泸州市| 万全县| 赤壁市| 兴海县| 安徽省| 吐鲁番市| 梁平县| 长武县| 深泽县| 池州市| 吉安市| 德兴市| 天长市| 闵行区|