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...