Korzystam z poniższych danych, aby automatycznie zalogować się do zdalnego serwera, a następnie uruchomić polecenia wymienione w commands.txt
:
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 gdy próbuję to zrobić, pojawia się nowe okno PuTTY, ale zamyka się i wychodzi natychmiast po zalogowaniu. W rezultacie nie widzę danych wyjściowych poleceń.
Nie rozumiem o co tu chodzi. Czy mylę się w swoim podejściu, czy muszę podjąć dodatkowe kroki, aby okno PuTTY zatrzymało się na jakiś czas przed wyjściem?
command-line
ssh
unix
putty
Peter Mortensen
źródło
źródło
Odpowiedzi:
Powinieneś używać
plink.exe
(interfejs wiersza poleceń zaplecza PuTTY), a nieputty.exe
Otrzymasz to ze strony pobierania PuTTY
Bez plink:
Wydaje się, że jedynym sposobem jest skorzystanie z
-log <logfile>
opcji, a następnie wydrukowanie jego zawartości i usunięcie.źródło
-log
Najpierw musisz utworzyć osobny plik zawierający wszystkie polecenia, które chcesz wykonać.
Przykład: Chciałbym pobrać i zainstalować Drupal w mojej domenie przy użyciu PuTTY. Aby to zrobić, musisz:
Najpierw utwórz plik .txt. W tym pliku znajdują się polecenia. Moje to: „ drush dl drupal ” następny wiersz, „ drush si --account-name = [nazwa konta] --account-pass = [konto pass] --db-url = mysql: // [użytkownik]: [pass ] @ localhost / [nazwa bazy danych] --y "
Po zapisaniu tego pliku zamierzasz teraz utworzyć plik BAT lub wpisać go w wierszu CMD:
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]
źródło
Twoje podejście wydaje się dobre, jednak w zachowaniu jest jedno ustawienie domyślne, które powoduje problemy tutaj i prawdopodobnie sprawia, że uważasz, że nic się nie dzieje.
Sesja kończy się natychmiast po wykonaniu polecenia, a PuTTY domyślnie zamyka okno. Zobacz dokumentację PuTTY, w jaki sposób zmienić to zachowanie dla swojej sesji.
źródło
session-noclose
i użyj jej w skryptach.Nie byłoby problemu, jeśli chcesz po prostu utworzyć plik wsadowy, aby otworzyć maszynę Unix. Poniżej znajduje się przykład:
Ścieżka PuTTY powinna zawierać podwójne cudzysłowy, na przykład „C: \ Program Files \ putty \ putty.ext”
machinename = machinename bez podwójnych cudzysłowów
hasło = z cudzysłowami
źródło
Oprócz odpowiedzi Aviram:
Poniżej znajduje się przykład uruchamiania poleceń PuTTY z wiersza poleceń:
Najpierw przejdź na przykład do katalogu instalacyjnego PuTTY
C:\Program Files\PuTTY
, a następnie wykonaj poniższe polecenie:źródło