Nano Hash - криптовалюты, майнинг, программирование

Удаленный запуск сценария Linux из Windows и получение кода результата выполнения

Мне нужно иметь дело с текущим сценарием: я должен запланировать резервное копирование сервера моей компании на базе Linux (под управлением Suse Linux) с помощью ARCServe R15 (установленного в Windows 2003R2SP2). Я знаю, что в моем программном обеспечении для резервного копирования (ARCServe) есть возможность добавлять сценарии до и после выполнения к моим заданиям резервного копирования. В случае сбоя сценария ARCServe будет указано НЕ для запуска задания резервного копирования, а в случае успеха - для запуска. У меня нет проблем с этим.

Проблема в том, что я хочу создать сценарий Windows (запускаемый ARCServe) для выполнения сценария Linux в кластере: - Если этот сценарий Linux не работает, я хочу, чтобы мой сценарий Windows не работал, поэтому мое задание резервного копирования в ARCServe не будет работать. Если сценарий Linux будет успешным, я хочу, чтобы мой сценарий Windows нормально завершался с кодом ошибки 0, чтобы моя работа ARCServe выполнялась нормально. Я попытался создать этот пакетный файл (назовем его HPC.bat):

эхо включено

start /wait "C:\Program Files\PUTTY\plink.exe" -v -l root -i "C:\IST\admin\scripts\HPC\pri.ppk" [имя_кластера] /appli/admin/backup_admin

выйти из %errorlevel%

Если я вручную запускаю этот .bat, дважды щелкнув по нему, или запустив его в командной строке под Windows, он выполняется нормально, а затем завершается. Если я запускаю его с помощью ARCServe, кажется, что скрипт никогда не закончится. Моя работа остается в статусе «ожидание», кажется, что код выполнения скрипта linux не возвращается в мой командный файл, и этот не закрывается. На мой взгляд, plink просто открывает соединение с Linux, отправляет сигнал выполнения скрипта, а затем закрывает соединение, поэтому код выполнения не может быть возвращен в пакет. Я прав ?

Возможно ли то, что я хочу сделать, или я пытаюсь сделать что-то невозможное? Значит, мне нужно действовать по-другому? Должен ли я использовать PUTTY или CygWin вместо plink? Пожалуйста, у меня голова болит...


  • Возможно, следует спросить на serverfault.com 26.04.2012

Ответы:


1

Если вы устанавливаете Cygwin, вы можете сделать это точно так же, как вы можете сделать это с Linux на Linux, то есть удаленно запустить команду с ssh [email protected] somecommand

Эта команда вернется с тем же кодом возврата на вызывающем клиенте, что и команда, завершившаяся на удаленном конце. Если вы используете общие ключи SSH для аутентификации вместо паролей, это также может быть выполнено в сценарии без участия пользователя.

25.04.2012
  • Это было бы и моим искушением. Возможно, вам также захочется изучить использование expect, чтобы судить об успехе удаленной задачи. 25.04.2012
  • Хорошо, я попробую с CygWin. 26.04.2012
  • Хорошо, я попробую с CygWin. Но, ссылаясь на эту ссылку stackoverflow.com/questions/4090367/ get-return-code-from-plink, это не должно работать. Слегка вижу начало решения... 26.04.2012
  • plink отделен от cygwin. Cygwin может предоставить вам те же инструменты OpenSSH, что и в Linux. Plink - это другое программное обеспечение. 26.04.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..