2012-12-06 05:54:59 +0000 2012-12-06 05:54:59 +0000
20
20

Jak uruchomić plik z poleceniami w PuTTY za pomocą automatycznego logowania w wierszu poleceń?

Używam następującej metody logowania do zdalnego serwera, a następnie uruchamiam polecenia wymienione w commands.txt, jak na przykład:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt zawiera następujące elementy:

ps -elf|grep 'sometext'

Jednakże, gdy próbuję to zrobić, pojawia się nowe okno dla PuTTY, ale zamyka się i wychodzi natychmiast po zalogowaniu. W rezultacie nie widzę wyjścia komendy(y).

Nie rozumiem co się tutaj dzieje. Czy mylę się w swoim podejściu, czy też muszę zrobić więcej kroków, aby okno PuTTY zatrzymało się na jakiś czas przed wyjściem?

Odpowiedzi (5)

11
11
11
2013-05-03 06:19:49 +0000

Najpierw należy utworzyć osobny plik zawierający wszystkie polecenia, które mają zostać wykonane.

Przykład: Chciałbym pobrać i zainstalować Drupal na mojej domenie używając PuTTY. Aby to zrobić musisz:

Najpierw utworzyć plik .txt. Wewnątrz tego pliku znajdują się polecenia. Moje są: “ drush dl drupal” w następnej linii, “drush si –account-name=[nazwa konta] –account-pass=[account pass] –db-url=mysql://[user]:[pass]@localhost/[database name] –y

Po zapisaniu tego pliku, utworzysz teraz plik BAT lub wpiszesz go w wierszu CMD:

  • ssh. cmd
  • @echo on [aby zobaczyć, co się dzieje]
  • [Przejdź do instalacji PuTTY. Mój jest:] cd C:\Pliki programu \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]
11
11
11
2012-12-06 06:10:14 +0000

Powinieneś używać plink.exe (interfejs wiersza poleceń do back-endów PuTTY), a nie putty.exe

Otrzymujesz to z strona pobierania PuTTY

Bez plink:

Wydaje się, że jedynym sposobem jest użycie opcji -log <logfile>, a następnie wydrukowanie jego zawartości i usunięcie go.

2
2
2
2012-12-06 11:38:36 +0000

Twoje podejście wydaje się być dobre, jednak istnieje jedno domyślne ustawienie w zachowaniu, które sprawia Ci kłopoty i prawdopodobnie sprawia, że uważasz, że nic się nie dzieje.

Kiedy jednak próbuję to zrobić, pojawia się nowe okno dla PuTTY, ale zamyka się i wychodzi natychmiast po zalogowaniu

Twoja sesja kończy się natychmiast po wykonaniu polecenia, a PuTTY domyślnie zamyka okno. Zobacz dokumentacja PuTTY jak zmienić to zachowanie dla twojej sesji.

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.
2
2
2
2015-05-02 10:13:57 +0000

Nie byłoby problemu, gdybyś po prostu chciał stworzyć plik wsadowy do otwarcia maszyny uniksowej. Poniżej znajduje się przykład:

"PuTTY path" -ssh machinename -l username -pw password

Ścieżka PuTTY powinna być w cudzysłowach, jak “C:\Pliki programu \putty\putty.ext”

machinename = nazwa maszyny bez cudzysłowów

hasło = z cudzysłowami

0
0
0
2014-05-13 09:11:23 +0000

Oprócz odpowiedzi Avirama:

Poniżej znajduje się przykład, w jaki sposób będziesz uruchamiał polecenia PuTTY z wiersza poleceń:

  • Najpierw przejdź do katalogu instalacyjnego PuTTY, na przykład C:\Program Files\PuTTY, a następnie wykonaj poniższe polecenie: