怎么复制远程服务器上的文件夹,Linux系统复制文件/文件夹到远程服务器
從一個(gè)服務(wù)器復(fù)制文件到另一個(gè)服務(wù)器,或者從本地到遠(yuǎn)程復(fù)制是?Linux?管理員的日常任務(wù)之一。
我覺得不會(huì)有人不同意,因?yàn)闊o論在哪里這都是你的日常操作之一。有很多辦法都能處理這個(gè)任務(wù),我們?cè)囍右愿爬āD憧梢蕴粢粋€(gè)喜歡的方法。當(dāng)然,看看其他命令也能在別的地方幫到你。
我已經(jīng)在自己的環(huán)境下測(cè)試過所有的命令和腳本了,因此你可以直接用到日常工作當(dāng)中。
通常大家都傾向 scp,因?yàn)樗俏募?fù)制的原生命令native command之一。但本文所列出的其它命令也很好用,建議你嘗試一下。
文件復(fù)制可以輕易地用以下四種方法。
scp:在網(wǎng)絡(luò)上的兩個(gè)主機(jī)之間復(fù)制文件,它使用 ssh 做文件傳輸,并使用相同的認(rèn)證方式,具有相同的安全性。
rsync:是一個(gè)既快速又出眾的多功能文件復(fù)制工具。它能本地復(fù)制、通過遠(yuǎn)程?shell?在其它主機(jī)之間復(fù)制,或者與遠(yuǎn)程的 rsync 守護(hù)進(jìn)程daemon 之間復(fù)制。
pscp:是一個(gè)并行復(fù)制文件到多個(gè)主機(jī)上的程序。它提供了諸多特性,例如為 scp 配置免密傳輸,保存輸出到文件,以及超時(shí)控制。
prsync:也是一個(gè)并行復(fù)制文件到多個(gè)主機(jī)上的程序。它也提供了諸多特性,例如為 ssh 配置免密傳輸,保存輸出到 文件,以及超時(shí)控制。
方式 1:如何在 Linux 上使用 scp 命令從本地系統(tǒng)向遠(yuǎn)程系統(tǒng)復(fù)制文件/文件夾?
scp?命令可以讓我們從本地系統(tǒng)復(fù)制文件/文件夾到遠(yuǎn)程系統(tǒng)上。
我會(huì)把 output.txt 文件從本地系統(tǒng)復(fù)制到 2g.CentOS.com 遠(yuǎn)程系統(tǒng)的 /opt/backup 文件夾下。
# scp output.txt root@2g.CentOS.com:/opt/backup
output.txt 100% 2468 2.4KB/s 00:00
從本地系統(tǒng)復(fù)制兩個(gè)文件 output.txt 和 passwd-up.sh 到遠(yuǎn)程系統(tǒng) 2g.CentOs.com 的 /opt/backup 文件夾下。
# scp output.txt passwd-up.sh root@2g.CentOS.com:/opt/backup
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
從本地系統(tǒng)復(fù)制?shell-script 文件夾到遠(yuǎn)程系統(tǒng) 2g.CentOs.com 的 /opt/back 文件夾下。
這會(huì)連同shell-script 文件夾下所有的文件一同復(fù)制到/opt/back 下。
# scp -r /home/daygeek/2g/shell-script/ root@:/opt/backup/
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
方式 2:如何在 Linux 上使用 scp 命令和 Shell?腳本復(fù)制文件/文件夾到多個(gè)遠(yuǎn)程系統(tǒng)上?
如果你想復(fù)制同一個(gè)文件到多個(gè)遠(yuǎn)程服務(wù)器上,那就需要?jiǎng)?chuàng)建一個(gè)如下面那樣的小 shell 腳本。
并且,需要將服務(wù)器添加進(jìn) server-list.txt 文件。確保添加成功后,每個(gè)服務(wù)器應(yīng)當(dāng)單獨(dú)一行。
最終,你想要的腳本就像下面這樣:
# file-copy.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp /home/daygeek/2g/shell-script/output.txt root@$server:/opt/backup
done
完成之后,給 file-copy.sh 文件設(shè)置可執(zhí)行權(quán)限。
# chmod +x file-copy.sh
最后運(yùn)行腳本完成復(fù)制。
# ./file-copy.sh
output.txt 100% 2468 2.4KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
使用下面的腳本可以復(fù)制多個(gè)文件到多個(gè)遠(yuǎn)程服務(wù)器上。
# file-copy.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@$server:/opt/backup
done
下面結(jié)果顯示所有的兩個(gè)文件都復(fù)制到兩個(gè)服務(wù)器上。
# ./file-cp.sh
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
使用下面的腳本遞歸地復(fù)制文件夾到多個(gè)遠(yuǎn)程服務(wù)器上。
# file-copy.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp -r /home/daygeek/2g/shell-script/ root@$server:/opt/backup
done
上述腳本的輸出。
# ./file-cp.sh
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
方式 3:如何在 Linux 上使用 pscp 命令復(fù)制文件/文件夾到多個(gè)遠(yuǎn)程系統(tǒng)上?
pscp命令可以直接讓我們復(fù)制文件到多個(gè)遠(yuǎn)程服務(wù)器上。
使用下面的 pscp 命令復(fù)制單個(gè)文件到遠(yuǎn)程服務(wù)器。
# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt /opt/backup
[1] 18:46:11 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令復(fù)制多個(gè)文件到遠(yuǎn)程服務(wù)器。
# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt ovh.sh /opt/backup
[1] 18:47:48 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令遞歸地復(fù)制整個(gè)文件夾到遠(yuǎn)程服務(wù)器。
# pscp.pssh -H 2g.CentOS.com -r /home/daygeek/2g/shell-script/ /opt/backup
[1] 18:48:46 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令使用下面的命令復(fù)制單個(gè)文件到多個(gè)遠(yuǎn)程服務(wù)器。
# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt /opt/backup
[1] 18:49:48 [SUCCESS] 2g.CentOS.com
[2] 18:49:48 [SUCCESS] 2g.Debian.com
使用下面的 pscp 命令復(fù)制多個(gè)文件到多個(gè)遠(yuǎn)程服務(wù)器。
# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt passwd-up.sh /opt/backup
[1] 18:50:30 [SUCCESS] 2g.Debian.com
[2] 18:50:30 [SUCCESS] 2g.CentOS.com
使用下面的命令遞歸地復(fù)制文件夾到多個(gè)遠(yuǎn)程服務(wù)器。
# pscp.pssh -h server-list.txt -r /home/daygeek/2g/shell-script/ /opt/backup
[1] 18:51:31 [SUCCESS] 2g.Debian.com
[2] 18:51:31 [SUCCESS] 2g.CentOS.com
linux 系統(tǒng)獲得當(dāng)前文件夾下存在的所有文件 scandir函數(shù)和struct dirent **namelist結(jié)構(gòu)體[轉(zhuǎn)]
linux 系統(tǒng)獲得當(dāng)前文件夾下存在的所有文件 scandir函數(shù)和struct dirent **namelist結(jié)構(gòu)體 1.引用頭文件#include struct ...
linux系統(tǒng)下修改文件夾目錄權(quán)限
linux系統(tǒng)下修改文件夾目錄權(quán)限 文件夾權(quán)限問題 Linux.Fedora.Ubuntu修改文件.文件夾權(quán)限的方法差不多.很多人開始接觸Linux時(shí)都很頭痛Linux的文件權(quán)限問題.這里告訴大家如何 ...
關(guān)于Linux系統(tǒng)清理/tmp/文件夾的原理
轉(zhuǎn)自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html 我們知道 ...
Linux 下復(fù)制整個(gè)文件夾的命令
在 Linux 下復(fù)制整個(gè)文件夾,包括它的子文件夾及其隱藏文件的方法是: cp -r /etc/skel /home/user 或者 mkdir /home/ cp - ...
使用WinSCP在Windows和Linux系統(tǒng)之間傳輸文件
小梅哥編寫,未經(jīng)許可,嚴(yán)禁用于任何商業(yè)用途 2018年6月30日 在日常SoC開發(fā)中,我們經(jīng)常需要在Windows和Linux系統(tǒng)之間傳輸文件,例如在Windows系統(tǒng)上的DS-5集成開發(fā)環(huán)境中編寫好 ...
linux系統(tǒng)中的文件權(quán)限詳解(轉(zhuǎn))
一.在中介紹了通過ls指令來查看文件的屬性,具體如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...
linux系統(tǒng)加快大文件的寫入速度
linux系統(tǒng)加快大文件的寫入速度 setvbuf進(jìn)行優(yōu)化內(nèi)存IO
Linux系統(tǒng)下查找文件的方法
Linux系統(tǒng)下查找文件的方法 作者:Vashon 時(shí)間:20150419 方法一.在當(dāng)前目錄里查找所有名為以 java 開頭的文件: find ./ -name "java*" ...
linux系統(tǒng)下,11款常見遠(yuǎn)程桌面控制軟件
linux系統(tǒng)下,11款常見遠(yuǎn)程桌面控制軟件 一. Grdc 它是一個(gè)用GTK+編寫的,適用于gnome桌面環(huán)境的遠(yuǎn)程桌面訪問軟件.看圖: 常見功能: 1.提供全屏,窗口化的遠(yuǎn)程控制.支持高分辨率下的 ...
隨機(jī)推薦
大前端學(xué)習(xí)筆記整理【六】this關(guān)鍵字詳解
前言 在上一篇博客里我總結(jié)了下辨認(rèn)this指向的四種方式,但是有師兄拋出一個(gè)問題來,我發(fā)現(xiàn)那些this的指向并不能說明更復(fù)雜的情況,先看下這段代碼 var a = { name: 'a', getNa ...
hibernate HQL和Criteria
package com.test; import java.util.Date; import java.util.List; import org.hibernate.Query; import o ...
genymotion和eclipse連接問題,一直出錯(cuò)
前兩天重裝系統(tǒng),但是在運(yùn)行android代碼的時(shí)候遇到了這樣的問題 The connection to adb is down,and a server error has occured. You ...
利用range() 控制循環(huán)
s = ['a','b','c','d','e'] for i in range(len(s)):...???? if i < len(s)-1:...???????? print s[i] a ...
php讀取excel文件 更新修改excel
php讀取excel文件示例,還有更新修改功能. 代碼: //模板存放目錄 $dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/'; $template ...
javascript 路線整理
前端開發(fā)很重要,編寫腳本也不容易. 總結(jié)我以前的前端學(xué)習(xí)經(jīng)歷,基本是一團(tuán)亂麻:css+javascript是在大三自學(xué)的,當(dāng)時(shí)自己做課程設(shè)計(jì),逼著自己在一個(gè)月之內(nèi),寫了一個(gè)半成品的j2ee網(wǎng)站.當(dāng)時(shí), ...
貼近瀏覽器窗口右側(cè)的jqueryui dialog快速?gòu)淖髠?cè)調(diào)整大小時(shí)對(duì)話框大小設(shè)置不準(zhǔn)確的問題
之前在做兩個(gè)相同的頁(yè)面的事件同步時(shí)發(fā)現(xiàn)了這個(gè)問題,現(xiàn)在把它記錄下來. 一.問題描述 頁(yè)面中的jqueryui對(duì)話框,如果把它拖動(dòng)到靠近瀏覽器窗口右側(cè)邊緣,并快速?gòu)膶?duì)話框左側(cè)調(diào)整對(duì)話框窗口大小時(shí),對(duì)話框 ...
Matlab中數(shù)據(jù)的存儲(chǔ)方式
簡(jiǎn)介 MATLAB提供了豐富的算法以及一個(gè)易于操作的語言,給算法研發(fā)工作者提供了很多便利.然而MATLAB在執(zhí)行某些任務(wù)的時(shí)候,執(zhí)行效率偏低,測(cè)試較大任務(wù)量時(shí)可能會(huì)引起較長(zhǎng)時(shí)間的等待.未解決這個(gè)問題, ...
JAVA實(shí)現(xiàn)等腰三角形
class Triangle { public static void main(String[] args) { for(int a=0; b<5; a++)//這個(gè)代表只有四行 { for( ...
CloudStack 全局參數(shù)設(shè)置
mem.overprovisioning.factor 內(nèi)存超分參數(shù) cpu.overprovisioning.factor cpu超分參數(shù)
總結(jié)
以上是生活随笔為你收集整理的怎么复制远程服务器上的文件夹,Linux系统复制文件/文件夹到远程服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7系统服务器环境配置,window
- 下一篇: php-fpm 无法运行cli,linu