在集群上分發檔案

2021-09-22 21:27:23 字數 944 閱讀 4073

1.在檔案/usr/local/bin建乙個可執行檔案xsync

touch xsync
2.寫入內容

#!/bin/bash

#1 獲取輸入引數個數,如果沒有引數,直接退出

pcount=$#

if((pcount==0)); then

echo no args;

exit;

fi#2 獲取檔名稱

p1=$1

fname=`basename $p1`

echo fname=$fname

#3 獲取上級目錄到絕對路徑

pdir=`cd -p $(dirname $p1); pwd`

echo pdir=$pdir

#4 獲取當前使用者名稱

user=`whoami`

#5 迴圈 (編號10-80的機器)

for((host=10; host<=80; host++)); do

#echo $pdir/$fname $user@hadoop$host:$pdir

echo --------------- hadoop$host ----------------

rsync -rvl $pdir/$fname $user@hadoop$host:$pdir

done

3.給這個檔案賦予許可權

chmod 777 xsync
4 .在機器上執行

//分發檔案

xsync t.txt

或者分發整個資料夾

xsync  hadoop/

使用saltstack分發檔案

我們通過狀態管理檔案實現檔案分發,所有的管理檔案應該放在配置好的工作目錄下,vi etc salt master,開啟master檔案,設定環境配置目錄,我們設定為 srv salt 這樣salt就知道我們的配置管理檔案在什麼地方,就算我們不取消注釋salt也會自動定位在 srv salt下!之後在...

xsync bash rsync非同步分發檔案

前言,rsync 命令詳解,參看 說明 1.下面的指令碼,迴圈直選用乙個 2.指令碼的使用,進入到要分發檔案的目錄,分發目標資料夾targetdir或檔案targetfile,就可以分發到其他機器上 xsync targetdir xsync targetfile 指令碼名稱 xsync.sh bi...

shell指令碼自動分發檔案

transport file.sh bin bash 宣告變數 sourfile echo eval echo cut d f1 despath echo cut d f2 pwd pwd file pwd basename 0 ip file pwd ipfile f rn re ho in us...