Как запустить командный файл в PuTTY с помощью автоматического входа в командную строку?
Я использую следующее для автоматического входа на удаленный сервер, а затем запускать команды, перечисленные в commands.txt
, например:
C:pathtoputty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:pathtocommands.txt
commands.txt
содержит следующее:
ps -elf|grep 'sometext'
однако, когда я пытаюсь сделать это, появляется новое окно для PuTTY, но оно закрывается и выходит сразу после входа в систему. В результате я не вижу выходных данных команды(команд).
Я не понимаю, что здесь происходит. Я ошибаюсь в своем подходе или мне нужно предпринять больше шагов сделать паузу окна PuTTY на некоторое время перед выходом?
5 ответов
вы должны использовать plink.exe
(интерфейс командной строки для обратной стороны PuTTY), а не putty.exe
вы получите, что от PuTTY страница загрузки
без plink:
кажется, единственный способ-использовать -log <logfile>
параметры, а затем распечатать его содержимое и удалить его.
сначала вам нужно создать отдельный файл, содержащий все команды, которые вы хотите выполнить.
пример: я хотел бы скачать и установить Drupal на моем домене с помощью PuTTY. Для этого необходимо:
создать .txt-файл. В этом файле несколько команд. Мои такие:"drush dl drupal" следующую строку "учетная запись-имя друш Си --=[имя учетной записи] --счета-пропуск=[пропуск записи ] -- db-url=mysql: / / [user]: [pass]@localhost / [имя базы данных] --y"
после сохранения этого файла вы создадите BAT файл или введите его в командной строке:
- ssh.cmd
- @echo on [чтобы вы увидели, что происходит]
- [перейдите к установке шпатлевки. Мое:] cd C:\Program файлы\Putty
- Start
putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
ваш подход кажется хорошим, однако, есть одна настройка по умолчанию в поведении, которая вызывает у вас проблемы здесь и, вероятно, заставляет вас верить, что ничего не происходит.
однако, когда я пытаюсь сделать это, появляется новое окно для PuTTY, но закрывается и выходит сразу после входа в систему
ваш сеанс заканчивается сразу после выполнения команды, и PuTTY закрывает окно по умолчанию. Смотрите документация шпатлевки о том, как изменить это поведение для вашей сессии.
4.1.3 `Close Window on Exit'
Finally in the Session panel, there is an option labelled `Close
Window on Exit'. This controls whether the PuTTY terminal window
disappears as soon as the session inside it terminates.
не было бы никаких проблем, если вы просто хотите создать пакетный файл, чтобы открыть машину Unix. Ниже приведен пример:
"PuTTY path" -ssh machinename -l username -pw password
путь к PuTTY должен быть в двойных кавычках, например "C:\Program файлы\шпатлевка\шпатлевка.ext"
machinename = machinename без двойных кавычек
пароль = с цитатами
В дополнение к ответу Авира-это:
ниже приведен пример, как вы будете запускать команды PuTTY из командной строки:
сначала перейдите в каталог установки PuTTY, например
C:\Program Files\PuTTY
, а затем выполните следующую команду:плинк.exe -ssh server_ip -П port_no - l имя_пользователя - pw password
Другие вопросы command-line putty ssh unix