
mit diesem Skript
putty -ssh user@host -i C:\Users\TheUser\.ssh\id_rsa.ppk -m C:\users\TheUser\desktop\script.txt
exit
Ich habe versucht, nach einem Backup auf dem Remote-NAS (Synology), das unter Linux läuft, einen Netzwerk-Shutdown zu automatisieren.
skript.txt
sieht wie folgt aus sh /home/linuxserver/Dokumente/shell.sh & disown; exit
und das Skript auf dem Linuxserver sieht wie folgt aus:
#!/bin/bash
sleep 10s
sudo ip link set eth0 down
mein Problem ist, dass das Skript tut, wofür es gemacht ist, aber das Putty-Terminal nicht geschlossen wird. Wenn ich den Inhalt script.txt
selbst in ein Putty-Terminal kopiere und ausführe, funktioniert es wie vorgesehen (mit Schließen des Terminals).
bearbeiten: es sieht so aus, als würde Putty jeden Befehl zum Aufheben der Zustimmung zu einem Skript ignorieren. selbst wenn ich ein Skript zum Aufheben der Zustimmung zu einem Skript erstelle. nohup
, & disown
, und & disown -h
es funktioniert nicht. Ich habe sogar versucht, Putty zu starten, eine Sitzung zu erstellen und sie zu speichern, aber diese Befehle wurden im Allgemeinen ignoriert.
edit2: jetzt habe ich es mit einem anderen Befehl in skript.txt versucht, es sieht jetzt so aus
(sleep 10; sudo ip link set eth0 down ) &
exit
Putty schließt sich immer noch nicht, nachdem ich das Skript gestartet habe, also habe ich ein anderes skript.txt ausprobiert
(sleep 10; echo 1000 ) &
exit
Ich habe die Ruhezeit geändert und Putty hat jedes Mal gewartet, bis die Zeit abgelaufen ist. Meine Frage ist also, wie kann ich mein Skript starten und es das Putty-Fenster schließen lassen, ohne das Fenster manuell zu schließen?