Teamspeak - скрипт Bash, чтобы проверить, есть ли кто-нибудь в сети? - PullRequest
0 голосов
/ 22 февраля 2019

Привет всем, надеюсь, ты поможешь мне с моей маленькой проблемой.Я управляю локальным сервером TS на моем NAS (openmediavault) для меня и моих друзей.Я пытаюсь получить список того, сколько пользователей в сети.Мой nas запускает плагин автоотключения, чтобы выключить систему, если она не используется.Он может проверять подключенные порты, но не работает с teampeak.Поэтому мне нужен скрипт, который позволяет выводить количество онлайн-пользователей, чтобы я мог сообщить плагину завершения работы, если не один пользователь не отключился.

Я нашел некоторые вещи, но они не работаютдля меня.Я отредактировал скрипт, который нашел на форумах omv, и он работает, но только так, что он создает файл, но никогда не удаляет его.

    #!/bin/bash
# ts check
Online=$((         echo telnet localhost 10011;         sleep 1;         echo "login serveradmin password";         sleep 1;         echo hostinfo;         sleep 1;         echo "logout";         sleep 1;         echo "quit";         sleep 1;         ) | telnet | grep -o -P '(?<=virtualservers_total_clients_online=).*(?= virtualservers)');
if [[ "$Online" == "0" ]];
 then
  rm /usr/local/bin/tsshut.lock
 else
  touch /usr/local/bin/tsshut.lock
fi

Надеюсь, вы мне поможете.Заранее спасибо.

...