Logout all remote sessions before reboot/poweroff.

Полезные ссылки, документация и тп.

Модераторы: Admins, Модераторы

Ответить
Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Logout all remote sessions before reboot/poweroff.

Сообщение anest » 12 мар 2013, 12:30

Всем кто не хочет больше ждать когда консоль отвиснет по таймауту после каждой команды ребута на серверах посвящается.

Ubuntu:
nano /etc/init.d/logoutssh

Код: Выделить всё

#!/bin/sh

case "$1" in
  start)
        # nothing, just to keep update-rc.d happy (see debian #630732)
        ;;
  stop)
        echo "Log out all remote ssh sessions before system down... "
        who | cut -d " " -f1 | uniq | xargs skill -KILL -u
        ;;
  restart|force-reload)
        # nothing
        ;;
  status)
        exit 0
        ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
    exit 1
    ;;
esac

exit 0
chmod +x /etc/init.d/logoutssh
ln -s /etc/init.d/logoutssh /etc/rc0.d/K10logoutssh
ln -s /etc/init.d/logoutssh /etc/rc6.d/K10logoutssh

++++++++++++++++++++++++++++

Gentoo:

Код: Выделить всё

echo 'who | cut -d " " -f1 | uniq | xargs skill -KILL -u' >> /etc/local.d/logoutssh.stop && chmod +x /etc/local.d/logoutssh.stop
ps: уверен будет работать и в других дистрах. сама "магическая последовательность" была выдрана мной из дебиана много лет назад и успешно использовалась долгие годы в генту, вот понадобилось адаптировать под убунту, результатами рад поделиться с вами. работало кстати и на OpenWRT.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 18 июл 2013, 08:49

у кого перестало работать - новый вариант (из-за избавления в дистрах от skill и перехода на pkill)
who | cut -d " " -f1 | uniq | xargs killall -u

Ответить