集群操作脚本

1.集群间文件\文件夹同步脚本 !!

集群同步脚本

  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进程杀死;

你可能感兴趣的:(集群操作脚本)