1.集群间文件\文件夹同步脚本 !!
集群同步脚本
- 准备:所有主机安装 rsync 工具
sudo yum -y install rsync
输入密码:
1.编辑集群文件同步脚本
vi /usr/local/bin/xsync
#!/bin/bash
# 以当前用户权限,同步选择的 文件夹\文件 .
# 同步文件:
# xsync a.txt
# 同步文件夹:
# xsync xsync sqoop/
#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 循环host, 同步复制.
for host in hadoop01 hadoop02 hadoop03
do
echo @@=========== $host ===========@@
rsync -rvl $pdir/$fname $user@$host:$pdir
done
2.保存退出,
3.赋予执行权限
chmod 777 /usr/local/bin/xsync
4.用例
# 以当前用户权限,同步选择的 文件夹\文件 .
# 同步文件:
# xsync a.txt
# 同步文件夹:
# xsync sqoop/
图片.png
2.Linux之批量杀死带某关键词的进程
根据进程名字,获取进程pid,杀死进程。
杀死单个进程使用:
kill -9 PID
使用管道符组合上其他一些命令,就有了批量杀死带某关键词的进程:
ps aux | grep soffice | grep -v grep | awk '{print $2}' | sudo xargs kill -9
使用ps aux
获取进程信息;
使用grep soffice
检索出包含关键词soffice的进程;
使用grep -v grep
来排除grep自身进程;
使用awk '{print $2}'
获取进程信息的第二列,也就是杀死kill进程需要用到的PID;
使用sudo xargs kill -9
用超管权限将前面获取到的PID进程杀死;
使用xargs kill -9
不使用超管权限将前面获取到的PID进程杀死;
网友评论