Skript Server herunterfahren
Servus!
Ich habe folgendes Problem: Ich möchte meinen Backup-Server (Suse-Linux) automatisch herunterfahren, wenn der Server nichts mehr zu tun hat. Die Erkennung soll anhand der CPU- und der Netzwerklast erfolgen. Wenn Beispielsweise die CPU-Last unter dem Limit von z. B. 0,05 (also 5%) liegt und wenn z. B. weniger als 1000 bytes/Minute gesendet und empfangen werden, soll der Server heruntergefahren werden. Ich habe auch schon Vorarbeit geleistet:
CPU-Last letzte Minute, in diesem Fall 11%
Code:
cat /proc/loadavg | awk '{print $1}'
0.11
Netzwerkverkehr empfangene Bytes seit Systemstart:
Code:
cat /proc/net/dev | grep eth0 | awk '{print $2}'
114695875
Netzwerkverkehr gesendete Bytes seit Systemstart:
Code:
cat /proc/net/dev | grep eth0 | awk '{print $10}'
4222713
Leider bin ich hinsichtlich Skripte ein DAU, kann mir daher bitte jemand folgenden Pseudo-Code als Bash-Skript schreiben?
1. Bytes empfangen in Variable1 speichern
2. Bytes gesendet in Variable2 speichern
3. Eine Minute warten
4. Bytes empfangen in Variable3 speichern
5. Bytes gesendet in Variable4 speichern
6. Übertragene Bytes = Variable3 - Variable1 + (Variable4 - Variable 2) in Variable 5 speichern
7. CPU-Last in Variable 6 speichern
8. Abfrage, ob sowohl Variable 5 unter Netzwerk-Limit liegt und Variable 6 unter CPU-Limit liegt. Wenn ja, dann herunterfahren, wenn nicht dann Variable 1=Variable 3 und Variable 2 = Variable 4 und zurück zu Schritt Nr. 3
Ich hoffe, ich habe mich verständlich ausgedrückt.