Есть ли команда под названием «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

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.

  • Ошибка с if ... elif statemets в скрипте linux shell
  • Как найти конкретную строку и распечатать всю строку?
  • синтаксическая ошибка: неверный арифметический оператор (токен ошибки - .c)
  • Можно ли выполнить скрипт, который принимает пользовательский ввод, а затем выполнить другой скрипт
  • Сохранение и восстановление вкладок терминала с заголовком пользовательских вкладок
  • Узнайте, существуют ли файлы в папке под другим именем в другой папке
  • Несколько команд sed в файле
  • Возникли проблемы с базовым, если это утверждение
  • Замена определенного номера в файлах unix
  • тайм-аут вызывает, когда цикл чтения заканчивается, когда `cat` отключен
  • Выход из функции bash, а не терминала
  • попытка поместить динамические входные данные в переменную с помощью метода cat
  • Linux и Unix - лучшая ОС в мире.