Есть ли команда под названием «on» для выполнения команд на удаленных компьютерах?

Я столкнулся с скриптом bash, который обнаруживает память, использование ЦП и т. Д. На удаленных машинах. Для этого используется такая техника:

i=RemoteServerName TOTALMEM=`on $i cat /proc/meminfo | grep MemTotal | awk -F ' ' '{print $2}' ` 

Я искал в Интернете, и похоже, что все используют ssh username @ RemoteServerName для достижения этого. Я не понимаю, как это работает. Скрипт отлично работает, но когда я выполняю команду за пределами скрипта, он говорит: -bash: on: command не найден ..

Я искал в man-страницах, ничего не нашел. Кроме того, я искал любые псевдонимы, которые «on» означает использование команды «type on». Но ничего не найдено. Пожалуйста, помогите мне понять, как это «работает» для выполнения команд на удаленных машинах. Я не думаю, что есть команда под названием «on». Пожалуйста помоги.

Как локальные, так и удаленные машины – Redhat 6.2

  • Копирование файла на несколько других файлов с разными именами
  • Функция, вызывающая другую функцию со списком аргументов, не работает
  • make `find` return с ненулевым кодом выхода, если произошла ошибка
  • Какой смысл перенаправлять вывод grep на / dev / null?
  • Что означает $ # в оболочке?
  • перенаправить вывод команды в переменную (скрипт bash)
  • Что означает двоеточие (':') в синтаксисе разрешения переменной bash?
  • Дождитесь завершения процесса, прежде чем перейти к следующей строке в сценарии оболочки
  • One Solution collect form web for “Есть ли команда под названием «on» для выполнения команд на удаленных компьютерах?”

    Я нашел это. Все, что я сделал, первоначально искал везде в моей (корневой) среде для псевдонима, называемого «on». Но затем я проверил, как этот скрипт используется на сервере. Он используется для генерации ежечасного использования ресурсов для многих других удаленных серверов. Так что это должно быть частью кронтаба. Да, у нас это получилось! Этот скрипт является частью пользовательского crontab другого пользователя (не root).

    В сценарии были следующие строки:

     PATH=$PATH:$HOME/bin export PATH 

    У этого / ~ / bin пользователя есть исполняемый файл «on», который имеет весь необходимый код для преобразования on $i в ssh servername .

    Если вам интересно, почему этот дополнительный шаг вместо прямого использования ssh servername , вот объяснение. Формат кода, который я показал выше, был просто форматом, и в фактическом скрипте он используется для создания отчетов многих серверов (которые сгруппированы по нескольким группам), как показано ниже:

     for i in $GROUP1 $GROUP2 $GROUP3 do TOTALMEM=`on $i cat /proc/meminfo | grep MemTotal | awk -F ' ' '{print $2}' ` #other report generation and formatting code here done 

    GROUP1, GROUP2 и т. Д. – это списки, содержащие имена хостов похожих серверов.

    Серверы, принадлежащие одной группе, имеют общие учетные данные для входа в систему. Файл «on» содержит весь необходимый код для формирования команды ssh username@servername на основе их группы, используя регистр case.

    Linux и Unix - лучшая ОС в мире.