• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Der Frühling ist auch in den eingesandten Fotos deutlich zu erkennen. Zeigt uns, wer Euer Favorit ist! hier geht es lang für Euer Voting --> Klick

Homeserver automatisch herunterfahren

dafritz

Pferdeapfel
Registriert
05.11.10
Beiträge
79
Hallo zusammen,

ich hab folgendes Problem. Ich habe hier einen Homeserver auf den ich per SSH zugreife, um diesen Server z.B. herunterzufahren muss ich immer erst das Terminal öffnen, mich per SSH einloggen und dann den Befehl zum herunterfahren oder neustarten eingeben.

Jetzt meine Frage, ist das möglich das ganze mit einem AppleScript automatisch per Klick auszuführen? Habe bisher absolut keine Erfahrung damit! Wäre nett wenn mir hier jemand nen Tipp geben könnte!
 

drlecter

Wöbers Rambur
Registriert
04.11.06
Beiträge
6.442
Wenn der User mit dem du dich per ssh einloggst, den Server herunterfahren darf, einfach den shutdown Befehl mit dem ssh Aufruf schicken.
 

DukeNuke2

Wagnerapfel
Registriert
17.01.06
Beiträge
1.583
du kannst das mit einem shell script erledigen... allerdings solltest du dann eine authentifizierung ohne passwort für ssh nutzen da du sonst zusätzlich mit "expect" arbeiten musst um das passwort an den server zu senden. das bedeutet allerdings das du passwort irgendwo in klartext vermerken musst, was nicht wirklich sicher ist.

also -> http://www.linuxproblem.org/art_9.html
und dann ein script das sowas enthält erstellen:
Code:
ssh root@servername 'shutdown -h now'

wenn der server immer zu einer bestimmten zeit ausgeschaltet werden soll, könntest du auch einen cron job nutzen um das zu automatisieren.
 

dafritz

Pferdeapfel
Registriert
05.11.10
Beiträge
79
Vielen Dank, funktioniert perfekt! Nächster Schritt wäre jetzt das ganze noch schön zu Verpacken, vielleicht mit einer Abfrage ob man den Server ausschalten oder neustarten möchte.

Danke schon mal für Hilfe
 

DukeNuke2

Wagnerapfel
Registriert
17.01.06
Beiträge
1.583
alles problemlos möglich. du kannst das mit dem in die shell eingebauten "getopts" machen oder per "read" eine eingabe im terminal einlesen... also sowas in der art:

Code:
echo "Server Reboot or Halt, please choose (r/h): "
read input
ssh root@servername 'shutdown -$(input) now'

da sollte man dann noch einiges überarbeiten aber das grundgerüst könnte so in der art aussehen...