Как провести Тех. обслуживание сервера с уведомлением пользователей?Для начала создаем пустой файл
/etc/nologin
. Включаем возможность заходить под
root
. Теперь только
root
сможет авторизоваться по
ssh
.
Переходим к уведомлениям, возможно кто-то в данный момент работает в терминале.
Воспользуемся утилитой
wall.Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.Запускаем команду:
wall "... текст сообщения ..."
Все кто подключен к серверу, получают сообщение:
... текст сообщения ...
И неважно что делает человек и где находится, сообщение появится у него на экране. Через wall можно спамить определенным группам пользователей.
В указанное время запускаем ассасина:
pkill -9 -u `who | awk '{print $1}'| grep -v root|head -1
Выгнали всех с сервера, кроме root’а и проводим технические работы, удаляем
/etc/nologin.
Wall можно заменить например на такое:
echo "какой-то текст" | write user
Но тут сообщение уйдет конкретному пользователю
user. Конечно, если по какой-то причине, в системе отсутствует
wall, можно и через цикл выгрести всех юзеров и через echo отправить им уведомление.
write - утилита, позволяющая отправить сообщение другому пользователю, который имеет сессию в этой же системе.Или так:
echo "какой-то текст" > /dev/pts/1