Linux批量处理常用方式

批量处理思路在工作中使用的频率比较高,比如批量清理进程、批量删除文件、批量机器执行脚本等。

一、批量清理带java字样的进程

方式1:使用shell while语法。

ps aux |grep java |awk '{print $2}' | while read line; do kill -9 ${line}; done

shell while 方式直观,可处理相对复杂的逻辑,通用性高。

方式2:使用 xargs 参数

ps aux |grep java |awk '{print $2}' | xargs kill -9

xargs 方式使用简洁,可进行简单逻辑的处理

二、批量删除文件

删除当前目录且不包括子目录下 '.txt' 文件格式的文件

find ./ -maxdepth 1 -name "*.txt" | while read line; do rm -rf ${line}; done

三、多台机器批量执行命令

查看多台机器的当前时间,机器时间不同步时可以采用这样方式查看。

方式1:shell for 语法

for host in 10.111.17.119 10.111.17.120; do ssh root@${host} 'date -R'; done

方式2:ansible 命令

ansible hadoop -m shell -a 'date -R' -k

ansible 命令的使用参考:https://www.cnblogs.com/walker-/p/10146660.html

原文地址:https://www.cnblogs.com/lemonu/p/10466730.html