ubuntuusers.de

Server automatisch heruntergefahren

Status: Gelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

jochenv

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Wohnort: Kurhessen

Hallo zusammen,

ich bin gerade verzweifelt am suchen ... ich hatte mal eine Bash-Datei die mir meinen hat. Abgefragt wurden glaube die Ports, Sprich wenn alle Ports nicht mehr benutzt wurden ist der Server dann nach einer definierten Zeit runter gefahren. Hatte den Skript damals aus dem Netz und habe ihn für mich modifiziert. Selbst schreiben ... wüsste jetzt gar nicht wie das mit den Abfragen der Ports geht.

Wenn jemand einen solchen Skript kennt oder hat und mir zur Verfügung stellen würde, ...

Gruß Jochen

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

jochenv schrieb:

Abgefragt wurden glaube die Ports, Sprich wenn alle Ports nicht mehr benutzt wurden ist der Server dann nach einer definierten Zeit runter gefahren.

Also meinst du mit "Ports", dass keine eingehenden Verbindungen mehr bestanden, oder dass Ports ueberhaupt offen waren (sprich: Dienste laufen)?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

netstat und lsof fallen mir da ein.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

jochenv schrieb:

Abgefragt wurden glaube die Ports, Sprich wenn alle Ports nicht mehr benutzt wurden ist der Server dann nach einer definierten Zeit runter gefahren. ... wüsste jetzt gar nicht wie das mit den Abfragen der Ports geht.

Das wäre mit dem Zähler (counter; siehe dort "pkts und bytes") von iptables-Regeln möglich. Siehe auch die Ausgabe von:

sudo iptables -nvx -L INPUT --line-numbers

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Wohnort: Kurhessen

sebix schrieb:

jochenv schrieb:

Abgefragt wurden glaube die Ports, Sprich wenn alle Ports nicht mehr benutzt wurden ist der Server dann nach einer definierten Zeit runter gefahren.

Also meinst du mit "Ports", dass keine eingehenden Verbindungen mehr bestanden, oder dass Ports ueberhaupt offen waren (sprich: Dienste laufen)?

... dass keine eingehenden Verbindungen mehr bestehen ...

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

jochenv schrieb:

... dass keine eingehenden Verbindungen mehr bestehen ...

Das kannst Du dann mit einer iptables-Regel ohne target und als dst-Port der lauschende Port, in der INPUT chain für ankommende Verbindungen mit dem state (Zustand) RELATED,ESTABLISHED, feststellen.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Mit dem Sys-V-init alter Zeiten gab es einen universellen Serverdienst, der ad hoc einen Server gestartet hat, wenn eine Anfrage kam, und wohl auch terminiert ist, wenn keine Anfragen mehr kamen.

Ein Ersatz dafür ist sicher auch für systemd-init und dessen Dienste erzeugt worden, außer das wäre eine Sicherheitslücke gewesen. Ist wohl 15 oder mehr Jahre her, dass ich damit mal experimentiert habe.

Ich such mal in meinen Archiven, ob ich das noch finde.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Hab's gefunden - weiß nicht, ob es das ist, was Du suchst bzw. ob es nicht besser ist, als das, was Du suchst. Der Fachterminus heißt wohl Superserver, und hieß konkret bei Unix/Linux erst inetd, dann xinetd.

Mit locate habe ich aber keinen vorgefertigten xinetd für systemd auf der Festplatte gefunden.

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

user_unknown schrieb:

Mit locate habe ich aber keinen vorgefertigten xinetd für systemd auf der Festplatte gefunden.

systemd kann das selbst mit den socket-Units

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

sebix schrieb:

systemd kann das selbst mit den socket-Units

Da sollte man wirklich eine Standardantwort draus machen: "Systemd kann das selbst mit $FEATURE." Passt so oft. ☺

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

sebix schrieb:

user_unknown schrieb:

Mit locate habe ich aber keinen vorgefertigten xinetd für systemd auf der Festplatte gefunden.

systemd kann das selbst mit den socket-Units

Dann habe ich keine vorgefertigte Socketunit gefunden? Ist das besser? 😉

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6494

Es gab da vor Jahren Skripte im Wiki. Die werden aber so nicht mehr funktionieren.

Da sie nicht mehr gepflegt wurden, sind sind ins Archiv gewandert. Vielleicht findest du darin trotzdem noch die eine oder andere Inspiration für dein Vorhaben...

Gruß BillMaier

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Wohnort: Kurhessen

Hallo zusammen,

erst mal vielen Dank für eure Antworten.

Leider bin ich beruflich sehr eingespannt, so das ich nicht immer zeitnah dazu kommen hier weiter zu machen.

Ich werde mir noch etwas einlesen, da mir einiges nicht so geläufig ist und dann eine Rückmeldung geben.

Danke und Gruß Jochen

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Wohnort: Kurhessen

Hallo zusammen,

ich habe mir das von BillMaier mal angeschaut.

Es gab da vor Jahren Skripte im Wiki. Die werden aber so nicht mehr funktionieren.

Das Skript läuft zwar, soweit ich gesehen habe. Jedoch fährt der Server nicht runter bzw. ins Standby.

ich habe pm-utils noch istalliert

das Ergebnis von dem Test "Sind SUSPEND/HIBERNATE möglich?"

:~$ echo; for i in --suspend --hibernate --suspend-hybrid; do pm-is-supported $i && echo "$(echo $i | tr [:lower:] [:upper:] | tr -d -) is supported"; done; echo 

SUSPEND is supported
HIBERNATE is supported
SUSPENDHYBRID is supported

Auf einer anderen Seite habe ich gelesen, dass mein HP ms Gen8 nur "hibernate" kann. Aber selbst das funktioniert nicht.

Mittlerweile habe ich auch das andere Skript gefunden ... weiter in der nächste Nachricht

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Wohnort: Kurhessen

Hallo zusammen,

hier nun weiter im Text

Mittlerweile habe ich auch das andere Skript gefunden :

Das Skript hat mir den folgenden Eintrag in der syslog verursacht

Sep 17 11:40:01 server08 CRON[122698]: (root) CMD (root /usr/local/sbin/checkshutdown.sh)
Sep 17 11:40:01 server08 CRON[122697]: (CRON) info (No MTA installed, discarding output)

Laut Internet fehlt jetzt postfix oder vergleichbares.

Somit postfix intalliert ... syslog zeigt :

Sep 17 19:00:01 server08 CRON[126182]: (root) CMD (root /usr/local/sbin/checkshutdown.sh)
Sep 17 19:00:01 server08 postfix/pickup[125883]: D577C600E48: uid=0 from=<root>
Sep 17 19:00:01 server08 postfix/cleanup[126185]: D577C600E48: message-id=<20220917190001.D577C600E48@server08.fritz.box>
Sep 17 19:00:01 server08 postfix/qmgr[125018]: D577C600E48: from=<root@server08.fritz.box>, size=681, nrcpt=1 (queue active)
Sep 17 19:00:01 server08 postfix/local[126187]: D577C600E48: to=<root@server08.fritz.box>, orig_to=<root>, relay=local, delay=0.04, delays=0.03/0/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)

das mal Mail geschaut :

:~$ sudo mail 
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/root": 11 messages 11 unread
>U  1 root@server08.fri  Sat Sep 17 17:30   22/828   Cron <root@server08> root /usr/local/sbin/checkshutdown.sh
 U  2 root@server08.fri  Sat Sep 17 17:40   22/828   Cron <root@server08> root /usr/local/sbin/checkshutdown.sh
...
 U 11 root@server08.fri  Sat Sep 17 19:20   22/828   Cron <root@server08> root /usr/local/sbin/checkshutdown.sh
& 1
Message 1:
From root@server08.fritz.box  Sat Sep 17 17:30:01 2022
X-Original-To: root
From: root@server08.fritz.box (Cron Daemon)
To: root@server08.fritz.box
Subject: Cron <root@server08> root /usr/local/sbin/checkshutdown.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Date: Sat, 17 Sep 2022 17:30:01 +0000 (UTC)

/bin/bash: line 1: root: command not found

& 

Bitte nicht an dem Zeiten stören ... ich habe die Teile für die Nachricht hier zusammen kopiert.

Ich der Mail steht Zeile 1 von checkshutdown.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/bash
#
#set -x

. /etc/autoshutdown.conf

logit()
{
	logger -p local0.notice -s -- AutoShutdown: $*
}
... gekürzt

was soll da bitte an Zeile 1 falsch sein ??? oder ist das wo anders der Fehler ???

Gruß Jochen

Antworten |