1.集群間文件\文件夾同步腳本 !!
集群同步腳本
- 準(zhǔn)備:所有主機(jī)安裝 rsync 工具
sudo yum -y install rsync
輸入密碼:
1.編輯集群文件同步腳本
vi /usr/local/bin/xsync
#!/bin/bash
# 以當(dāng)前用戶(hù)權(quán)限,同步選擇的 文件夾\文件 .
# 同步文件:
# xsync a.txt
# 同步文件夾:
# xsync xsync sqoop/
#1 獲取輸入?yún)?shù)個(gè)數(shù),如果沒(méi)有參數(shù),直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 獲取文件名稱(chēng)
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 獲取上級(jí)目錄到絕對(duì)路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 獲取當(dāng)前用戶(hù)名稱(chēng)
user=`whoami`
#5 循環(huán)host, 同步復(fù)制.
for host in hadoop01 hadoop02 hadoop03
do
echo @@=========== $host ===========@@
rsync -rvl $pdir/$fname $user@$host:$pdir
done
2.保存退出,
3.賦予執(zhí)行權(quán)限
chmod 777 /usr/local/bin/xsync
4.用例
# 以當(dāng)前用戶(hù)權(quán)限,同步選擇的 文件夾\文件 .
# 同步文件:
# xsync a.txt
# 同步文件夾:
# xsync sqoop/

圖片.png
2.Linux之批量殺死帶某關(guān)鍵詞的進(jìn)程
根據(jù)進(jìn)程名字,獲取進(jìn)程pid,殺死進(jìn)程。
殺死單個(gè)進(jìn)程使用:
kill -9 PID
使用管道符組合上其他一些命令,就有了批量殺死帶某關(guān)鍵詞的進(jìn)程:
ps aux | grep soffice | grep -v grep | awk '{print $2}' | sudo xargs kill -9
使用ps aux獲取進(jìn)程信息;
使用grep soffice檢索出包含關(guān)鍵詞soffice的進(jìn)程;
使用grep -v grep來(lái)排除grep自身進(jìn)程;
使用awk '{print $2}'獲取進(jìn)程信息的第二列,也就是殺死kill進(jìn)程需要用到的PID;
使用sudo xargs kill -9用超管權(quán)限將前面獲取到的PID進(jìn)程殺死;
使用xargs kill -9 不使用超管權(quán)限將前面獲取到的PID進(jìn)程殺死;