欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

兩個linux服務器間復制文件方式

 更新時間:2023年04月28日 10:15:04   作者:knowwait  
這篇文章主要介紹了兩個linux服務器間復制文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

兩個linux服務器間復制文件

scp是secure copy的簡寫,用于在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器。

1、命令格式:

scp [參數] [原路徑] [目標路徑]

2、命令實例:

從本地服務器復制到遠程服務器 

(1) 復制文件:

復制到文件夾,不修改文件名,執(zhí)行命令后需要輸入密碼

源文件    目標服務器用戶名    目標ip  目標文件夾(/file)

scp local_file remote_username@remote_ip:remote_folder ?

復制到文件夾并指定文件名,執(zhí)行命令后需要輸入密碼

remote_file(/file/test.txt)
scp local_file remote_username@remote_ip:remote_file ?

復制到文件夾,不指定用戶,執(zhí)行命令后需要輸入用戶名、密碼

scp local_file remote_ip:remote_folder ?

復制到文件夾并指定文件名,執(zhí)行命令后需要輸入用戶名、密碼

scp local_file remote_ip:remote_file ?

(2) 復制目錄:  

-r表示遞歸,復制整個目錄及目錄下文件到文件夾,執(zhí)行命令后需要輸入密碼

scp -r local_folder remote_username@remote_ip:remote_folder ?

-r表示遞歸,復制整個目錄及目錄下文件到文件夾,執(zhí)行命令后需要輸入用戶名、密碼

scp -r local_folder remote_ip:remote_folder 

從遠程服務器復制到本地服務器

從遠程復制到本地的scp命令與上面的命令雷同,只要將從本地復制到遠程的命令后面2個參數互換順序就行了。

遠程服務器用戶名    遠程ip       遠程文件目錄   本地目錄

scp remote_username@remote_ip:remote_folder local_folder

同理也可復制文件/文件夾  目標文件也可指定文件名

linux跨服務器復制文件(scp含腳本批量復制)

作為一名開發(fā),也需要干運維的工作,有時需要將一個文件(jar包)批量拷貝到多臺 Linux 服務器上。

如果逐臺scp命令拷貝,不僅需要更換ip,每次還需要輸入機器密碼,效率比較低下。

為提高效率,通過腳本方式實現(xiàn)將文件從一臺 Linux 主機批量拷貝到多臺服務器,以下為實現(xiàn)方法。

1.純命令復制方式

1.1 單個文件復制

scp /home/xxyy/manageweb/xxyy-web.jar xxyy@192.168.1.180:/home/xxyy/manageweb/bak

在這里插入圖片描述

1.2 文件夾復制

加上 -r 即可

scp -r demoDir/ root@192.168.0.180:/opt/soft/

2. 腳本方式批量分發(fā)

2.1 創(chuàng)建腳本文件 scp.sh

#!/bin/bash
echo "拷貝情況如下:" > test.log
n=`cat demoIplist.txt | wc -l` #分發(fā)的ip數量
fileName=demo-web.jar #分發(fā)文件名
echo "即將分發(fā)的文件:$fileName"
for ((i=1; i <= $n; i++))
do
passwd=`cat demoPassword.txt | head -$i | tail -1`
ip=`cat demoIplist.txt | head -$i | tail -1`
echo $ip
##自動交互
expect <<EOF
spawn scp $fileName xxyyzz@$ip:/home/xxyyzz/manageweb/bak/
expect "yes/no" {send "yes\n;exp_untinue"}
expect "password" {send "$passwd\n"}
expect eof
EOF
if [ $? -eq 0 ];then
echo "$ip:成功" >>demoScpLog.log
echo "$ip:成功"
else
echo "$ip:失敗" >>demoScpLog.log
echo "$ip:失敗"
fi 
done
echo "復制完成!!!"

腳本解析:

  • 1.循環(huán)執(zhí)行scp命令
  • 2.循環(huán)切換demoIplist.txt中的目標ip
  • 3.循環(huán)輸入demoPassword.txt中的密碼
  • 4.傳輸成功或失敗,均分別打印到控制臺和日志

2.2 創(chuàng)建分發(fā)目標機器ip文件 demoIplist.txt

腳本循環(huán)讀取時,會受換行符影響,需要注意刪除多余空行。

192.168.1.180
192.168.1.179

2.3 創(chuàng)建分發(fā)目標機器password文件 demoPassword.txt

由于生產上,不能設置免密傳輸,所以需要設置密碼。另外,如果密碼含有特殊字符,腳本將執(zhí)行失敗。

lC1yM51Dqxu7eq5Y
13mUx1Uq6buG45mJ

2.4 執(zhí)行.sh文件

打印如下:

在這里插入圖片描述

如上,即為腳本分發(fā)文件的方式。另外也可將文件名設置成文件可編輯的方式,會更加靈活,此處文件名固定方式就夠用了。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • LNMP下添加Discuz x2.5的偽靜態(tài)規(guī)則

    LNMP下添加Discuz x2.5的偽靜態(tài)規(guī)則

    今天一個找我配置過 lnmp 環(huán)境的用戶要搭建 Discuz 論壇,但是發(fā)現(xiàn)不支持偽靜態(tài),倡萌沒怎么折騰過 Discuz,百度下才知道,原來軍哥的 LNMP 環(huán)境包自帶的 DZ 規(guī)則不適用于 Discuz x2.5,記錄下對應的偽靜態(tài)規(guī)則
    2016-09-09
  • Linux下sersync數據實時同步

    Linux下sersync數據實時同步

    這篇文章主要為大家詳細介紹了Linux下sersync數據實時同步的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Mac中文件權限查看和設置詳解

    Mac中文件權限查看和設置詳解

    這篇文章主要給大家介紹了關于Mac系統(tǒng)下文件權限查看和設置的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Mac具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Linux下RPM打包制作過程

    Linux下RPM打包制作過程

    這篇文章主要介紹了Linux下RPM打包制作的詳細流程,并分享了相關實例代碼,一起學習下。
    2018-02-02
  • Linux系統(tǒng)設置開機自動運行腳本的方法實例

    Linux系統(tǒng)設置開機自動運行腳本的方法實例

    這篇文章主要給大家介紹了關于Linux系統(tǒng)設置開機自動運行腳本的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Linux系統(tǒng)具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06
  • Linux下如何永久修改主機名的方法步驟

    Linux下如何永久修改主機名的方法步驟

    這篇文章主要介紹了Linux下如何永久修改主機名的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • linux下bind9安裝配置一例

    linux下bind9安裝配置一例

    linux下bind9安裝配置一例,有需要的朋友可以參考下
    2013-02-02
  • Linux?Autofs自動掛載服務安裝部署教程

    Linux?Autofs自動掛載服務安裝部署教程

    大家好,本篇文章主要講的是Linux?Autofs自動掛載服務安裝部署教程,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-11-11
  • 簡單了解Linux性能監(jiān)控命令free

    簡單了解Linux性能監(jiān)控命令free

    這篇文章主要介紹了簡單了解Linux性能監(jiān)控命令free,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 在Ubuntu 16.10安裝mysql workbench報未安裝軟件包 libpng12-0錯誤的解決方法

    在Ubuntu 16.10安裝mysql workbench報未安裝軟件包 libpng12-0錯誤的解決方法

    這篇文章主要介紹了在Ubuntu 16.10安裝mysql workbench報未安裝軟件包 libpng12-0錯誤的解決方法的相關資料,需要的朋友可以參考下
    2016-11-11

最新評論