1. 程式人生 > >Linux 檔案批量上傳指令碼

Linux 檔案批量上傳指令碼

                       連線遠端環境並互動的操作總結

第一類:直接在linux環境下輸入命令模式
   1)ftp [email protected]  #回車之後需要輸入密碼 
       或者:ftp remoteip #回車後提示輸入使用者名稱和密碼
   2)sftp sftp=ssh+ftp
      用法:登陸與ftp一樣方式
   3)ssh 它等價於sftp
      用法:等同sftp
   4)scp 是ssh+cp
      scp local_file [email protected]_ip:remote_folder 
      將檔案拷貝到遠端目錄下,下載則引數反過來
      具體詳細連線:http://www.cnblogs.com/hitwtx/archive/2011/11/16/2251254.html 
     
     ****建議:使用ftp與ssh命令與本地環境幾乎一樣,不建議使用sftp
 
第二類:通過指令碼實現連線伺服器並執行命令


    1.ftp:方式 
       ###########################################################
       #                  mv.sh
       #實現向多臺遠端機器傳輸檔案,並設定可執行等指令
       ###########################################################
       #!/bin/ksh 
       root=root 
       pwd=pwd 
       remoteips='10.71.148.15 10.71.148.23' 
       for ip in $remoteips 
       do 
         ftp -in $ip<<EOF
user $root $pwd
cd /
put /user/local.txt /home/n
# 追加+R表示向檔案目錄下所有子檔案加許可權
chmod 755 local.txt
bye
         EOF
      done
    2.expect方式: expect和bsh這些都是一樣的但是執行不同不支援xshell指令碼那些語句
      參考: http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html
      ##############################################################
      #                  mv.exp《字尾可以是.sh》
      #實現向多臺遠端機器傳輸檔案,但不能操作其他指令,因為你不知道
      #什麼時候執行完,最後出現什麼
      ##############################################################
      #!/usr/bin/expect -f   
      #睡眠10秒
      set timeout 10   
      #set等價於=定義初始化
      set username root  
      #[lindex $argv 0|1|2..] 固定格式表示從外傳遞進來的引數 
      set password [lindex $argv 0]   
      set hostname [lindex $argv 1]
      #spawn 表示執行指令 r表示檔案目錄  
      spawn scp localfile
[email protected]
$hostname 
        
      #①這裡的{}類似swich的那個
      expect{
      #匹配到一個直接執行然後就跳出,裡面不會
      "yes/no" {send "yes\r";expect "password:"; send "$pasword\n"}
      "password:"{send "$password\r"}
      }
      #send "exit\r"    
      expect eof


      測試:可以通過指令碼迴圈裡呼叫:


        ./mv.sh $pwd $ip


     ##############################################################
     # 通過ssh連線實現遠端服務與控制檯互動
     ##############################################################
     #!/usr/bin/expect -f   
     set timeout 10   
     set username root   
     set password huawei   
     set hostname [lindex $argv 0]   
     spawn ssh
[email protected]
$hostname   
     expect{
     #①等價於 exp_continue指令表示繼續向下執行相當於case沒break
     "yes/no" {send "yes\r";exp_continue}
     "password:"{send "$password\r"}
     }  
     #匹配控制檯以#結尾輸出,就執行加權指令
     expect "*#"
     send "chmod +x -R remotefile";
     bye  
     expect eof 






     也可以通過金鑰實現不需要輸入密碼登陸,但是多臺遠端就需要每個金鑰
     參考:http://www.linux360.com.cn/html/Linux/tutorial/0554/1392498954.html
      
      本機:
      >ssh-keygen -t rsa
      #會在~/.ssh/下生成公鑰和金鑰
      >chmod 755 ~/.ssh -R
      #拷貝公鑰到遠端主.ssh下,並改名authorized_keys
      >scp ~/.ssh/id_rsa.pub remoteip:/home/user1/.ssh/authorized_keys



只供個人參考



















 

相關推薦

Linux 檔案批量指令碼

                       連線遠端環境並互動的操作總結 第一類:直接在linux環境下輸入命令模式    1)ftp [email protected]  #回車之後需要輸入密碼         或者:ftp remoteip #回車後提示輸入

stringMVC_09檔案批量

一.思路   在檔案上傳的基礎上引入陣列可以實現批量上傳,只需要更改一下前段頁面和controller類即可   檔案上傳: https://www.cnblogs.com/aihuadung/p/10167507.html 二.實現   在檔案上傳的基礎上更改fileupload.jsp

vue element 如何使檔案批量

問題:大家使用element自帶的檔案上傳功能時。雖然說檔案是批量上傳的,但是。其實他們都是一個一個傳上去的。我司的後端說要將所有的檔案全部一次性上傳。 解決方法:我們不可以用element自己的上傳控制元件,需要自己寫一個控制元件。程式碼如下 submitU

【.Net碼農】C#.net檔案批量解決方案附下載(swfupload)2015-8-28更新

因為最近專案需要多檔案同時上傳所以自己在網上找了下方法。swfupload做到了,所以我把我的C#.net環境的多檔案同時上傳共享給大家!(本例項最大隻能上傳500M的資料,如需要上傳更大的下面會告訴大家如何設定) 功能完全支援ie和firefox瀏覽器! 一般的WEB方式檔案上傳只能一個一個的進行上傳

SSM檔案批量

 首先我們需要在SSM框架的配置檔案中,配置一個批量上傳的元件bean <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"

檔案批量

在網站後臺開發中並經常需要和上傳打交道,而單一的上傳方式已經不適合,大量相似型別的檔案批量上傳,那如何做到呢?(1)當然第一步首先得封裝下檔案上傳的基本函式uploadFiles()方法(2)第二步,那就編輯簡單的上傳的表單吧?(3)第三步編寫php doAction3.ph

java 單個檔案, 批量檔案,單個下載,批量打成zip壓縮包下載檔案(如果不能接受httpsevletrequest請求的檔案可以使用MultipartFile[] files)

package net.wkang.intelligent_audit.hospitalization.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor

asp.net+JQuery實現檔案批量!

做系統的時候難免會遇到需要批量上傳這樣的需求,之前一直沒有做過,今天經理給了這個需求並簡單講了一下思路,花了點時間把它給做出來了,細想起來還是比較簡單的。 思路:用JQuery來實現動態的新增或者刪除多個上傳控制元件(如<input type="file" name=

使用ajaxFileupload實現多檔案批量

轉自:http://blog.csdn.net/zhanglu201112/article/details/17039137 開啟google 搜尋 ‘ajaxFileupload’ ‘多檔案上傳’ 可以搜到許許多多類似的,那我為什麼還要寫一下呢? 一

java操作檔案批量

package com.fangdi.landaudit.process.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.

利用EXCEL檔案批量使用者資訊

批量匯入使用者資訊 批量匯入通常是將指定格式的excel或word檔案上傳到伺服器,伺服器讀取上傳的檔案內容,將檔案內容全部讀取到資料庫的過程。 此案例包括:檔案下載、檔案上傳、EXCEL檔案解析、將解析後的資料存入資料庫。 操作步驟: 一、

檔案批量斷點續檔案

接上篇文章 java 超大檔案分片上傳 在其基礎上繼續實現 斷點續傳和檔案秒傳功能 在上篇中,我們可以使用 file. slice 方法對檔案進行分片,可以從後臺讀到當前檔案已經上傳的大小,就可以知道從哪裡開始切片,斷點續傳的原理就是基於這個的。 前端計算檔案的 md5 ,後臺資料庫查詢一遍(前提是把 md5

day58:Linux:BashShell&linux檔案管理&linux檔案下載

目錄 1.BashShell 2.Linux檔案管理 3.Linux檔案下載和上傳 BashShell 1.什麼是BeshShell? 命令的解釋,用來翻譯使用者輸入的指令 2.BashShell能做什麼? 檔案管理 軟體管理 使用者管理 許可權管理 網路管理 3.如何使用BashShell? 在使用Bash

linux自動備份檔案到遠端伺服器 指令碼實現

(1)在伺服器上建立備份目錄,並賦予許可權       mkdir -p /backup/bakdata  #新建資料備份目錄 (2)完成備份指令碼操作 新建指令碼檔案       vi bakdata.sh 新增以下內容:  #!/bin/sh dateTime=`dat

張明貴-Linux文件下載及sCRT配置批量管理功能

http ros 系統版本 uname tro 吸引 聯網 上傳 proc 【講課:互動,用提問的方式來吸引聽眾的註意力,聽眾吸收最大化】大學是在許昌學院讀的,在我看來,不幹念PPT的老師就是好講師,因為大部分任課老師自顧自講,沒有互動,傳授的知識我們只是被動的聽,沒有引導

Linux——x-shell檔案Linux和下載檔案到本地

一.下載安裝x-shell 百度上有很多xshell破解版,大家可以自行搜尋下載並安裝到自選目錄下。 二.連線伺服器 開啟x-shell選擇新建會話 當然,如果直接有檔案就可以直接點連線 點選新建之後會進入如下介面 輸入需要連線的主機IP。 我這裡用的是

IntelliJ IDEA實現遠端連線linux,並檔案linux伺服器(SSH會話功能和SFTP功能)

注意: eclipse的SSH會話功能和SFTP功能這裡不會說 點選以下連結可檢視   eclipse的SSH會話功能和SFTP功能 而IntelliJ IDEA(以下簡稱為IDEA)這麼強大的開發工具自然也有該功能,這篇部落格就介紹一下IDEA的SSH會話功能

Linux未安裝下載的外掛,怎麼進行檔案下載

首先連上服務: 然後Alt+p,開啟SFTp視窗; 例如,我們今天要往tomcat的webappmu目錄下上傳一個檔案; 先pwd,檢視我們Linux上所處的目錄;pwd       然後進入到tomcat的webapp目錄下;cd apache-t

Python作FTP指令碼檔案切割壓縮指令碼、迴圈啟動程式指令碼

python上傳FTP指令碼 #auther:Dennie #time:2018-08-09 #first is ftp path second is fold path third is filena

Linux-ftp伺服器 檔案和下載總結(1-實名登入)

1.安裝和配置vsftpd 不然會這樣 2.重啟伺服器 3.實名登入 4.上傳檔案 4.1建立檔案—再開一個終端,在home/ftptest目錄下建立檔案haha 4.2 命令:put filename 成功上傳到伺服器zy的home目錄下 附: