scp(secure copy)安全拷貝
scp(secure copy)安全拷貝可以靈活的使用,能夠在服務(wù)器間傳輸文件,語法如下:
scp -r $pdir/$fname $user@$host:$pdir/$fname
命令 遞歸 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
假設(shè)有a ,b,c 三臺機器,所有機器上的用戶都叫aricoder,三臺機器的host分別是dev01,dev02,dev03(在/etc/hosts內(nèi)修改域名到ip的映射就行)。
既可以在dev01上,通過下列命令將dev01上的/opt/jdk1.8文件遞歸傳到dev02上的/opt/module/文件夾下,
scp -r /opt/jdk1.8/ aricoder@dev02:/opt/module
也可以在dev02上通過下列命令從dev01上拉取文件
scp -r aricoder@dev01:/opt/jdk1.8/ /opt/module
還可以在dev03上通過下列命令將dev01上的文件傳到dev02上
scp -r aricoder@dev01:/opt/jdk1.8/ aricoder@dev02:/opt/module
rsync 遠程同步工具
rsync 主要用于備份和鏡像。具有速度快、避免復(fù)制相同內(nèi)容和支持符號鏈接的優(yōu)點。
rsync 和 scp 區(qū)別:用 rsync 做文件的復(fù)制要比 scp 的速度快,rsync 只對差異文件做更
新。scp 是把所有文件都復(fù)制過去。
基本語法
命令 選項參數(shù) 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
rsync -av $pdir/$fname $user@$host:$pdir/$fname
其中參數(shù)含義:
-a 歸檔拷貝
-v 顯示復(fù)制過程
使用起來和scp語法相似,所以用法參考上面的。
基于rsync 編寫一個集群文件分發(fā)腳本
需求:循環(huán)復(fù)制文件到所有集群節(jié)點的相同目錄下(將新增的文件同步到其它節(jié)點)
集群節(jié)點的ip地址由于已經(jīng)在linux 的hosts文件中映射,所以這里用hostname替代,現(xiàn)有的集群節(jié)點包括 dev01,dev02,dev03,那么對應(yīng)的腳本如下:文章來源:http://www.zghlxwxcb.cn/news/detail-464310.html
#!/bin/bash
#1. 判斷參數(shù)個數(shù)
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍歷集群所有機器
for host in dev01 dev02 dev03
do
echo ==================== $host ====================
#3. 遍歷所有目錄,挨個發(fā)送
for file in $@
do
#4. 判斷文件是否存在
if [ -e $file ]
then
#5. 獲取父目錄
pdir=$(cd -P $(dirname $file); pwd)
#6. 獲取當前文件的名稱
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
為了讓腳本能直接使用,應(yīng)該放在包含進了環(huán)境變量的目錄下,可以echo $PATH
看下,然后放在某個bin下面。文章來源地址http://www.zghlxwxcb.cn/news/detail-464310.html
到了這里,關(guān)于在服務(wù)器間傳輸文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!