• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

如何在Linux中使用Shell脚本杀死所有用户会话?

Linux 开心洋葱 2391次浏览 0个评论

ubuntu  Shell脚本杀死所有用户会话?

在Linux中,可以通过各种方式自动执行系统管理员任务。

它大大减少了人力,并节省了可用于其他生产任务的合理时间。

Shell脚本是使常规作业自动化的方法之一。

对于方案,您要运行每周作业或EOD作业以填充一些数据以用于报告目的。

为此,您必须在开始作业之前终止当前正在访问系统上的应用程序的所有ssh会话。

请参考下面的文章,该文章过去是为了杀死Linux上的特定用户会话而写的。

下面的shell脚本将通过获取用户会话的tty值来删除所有用户的活动会话,并使用pkill命令将其杀死。

 

$ sudo vi /opt/script/kill-user-sessions.sh

#!/bin/bash
usession=$(w | awk '{if (NR!=1) {print $2 }}' | tail -n +2)
for i in $usession
do
pkill -9 -t $i
done

为“ kill-user-sessions.sh”文件设置可执行权限。

$ sudo chmod +x /opt/script/kill-user-sessions.sh

最后,添加一个cronjob来自动化该脚本,该脚本每天凌晨3点运行。

$ sudo crontab -e

0 3 * * * /bin/bash /opt/script/kill-user-sessions.sh

如果要偶尔执行上述脚本,请使用以下格式。

$ sudo for i in $(w | awk '{if (NR!=1) {print $2 }}' | tail -n +2); do pkill -9 -t $i; done

如何排除系统上的少数用户
如果要排除系统中的任何用户,请使用以下脚本。
在此示例中,“ root”和“ ansible”用户已被用作排除参考。

$ sudo vi /opt/script/kill-user-sessions-1.sh

#!/bin/bash
usession=$(w | grep -v "root|ansible" | awk '{if (NR!=1) {print $2 }}' | tail -n +2)
for i in $usession
do
pkill -9 -t $i
done

为“ kill-user-sessions-1.sh”文件设置可执行权限。

$ sudo chmod +x /opt/script/kill-user-sessions-1.sh

最后,添加一个cronjob来自动化该脚本,该脚本每天凌晨3点运行。

$ sudo crontab -e

0 3 * * * /bin/bash /opt/script/kill-user-sessions-1.sh

如果要偶尔执行上述脚本,请使用以下格式。

$ sudo for i in $(w | grep -v "root" | awk '{if (NR!=1) {print $2 }}' | tail -n +2); do pkill -9 -t $i; done

结论
本文简要介绍了如何使用Shell脚本杀死所有用户以及排除几个用户会话。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明如何在Linux中使用Shell脚本杀死所有用户会话?
喜欢 (0)

您必须 登录 才能发表评论!

加载中……