Aufgabe: -------- Dies ist ein Script für die Shell, das zyklisch die Thermalwerte für eine bestimmte Dauer ermittelt und in eine Log-Datei schreibt. Voraussetzungen: ----------------- Damit die Werte ermittelt werden können, ist in der Systemsteuerung der SNMP-Dienst (SNMPv1, SNMPv2c) zu aktivieren und ein Community-String einzutragen. Die Log-Datei wird, wenn nicht anders definiert, im Home-Verzeichnis des Admin abgelegt und bei jedem erneutem Start überschrieben. /volume1/homes/admin/cpu.log Das Script selber kann idealerweise ebenfalls da abgelegt werden. Benutzung: ---------- Der Aufruf des Scripts sieht so aus: /volume1/homes/admin/cpu.sh = Passwort = Zeit in Sekunden bis der Nächste Wert ermittelt wird. = Dauer des Testes in Minuten. Beispiel: /volume1/homes/admin/cpu.sh DiskStation 2 10 Das Script kann jederzeit mit STRG-C abgebrochen werden. Extra: ------ Soll das Terminal-Fenster nicht blockiert werden, kann mit anfügen eines „&“ das Script in den Hintergrund geschoben werden: Beispiel: /volume1/homes/admin/cpu.sh DiskStation 2 10 & Im Terminal wird danach die Jobnummer und PID angezeigt: Beispiel: [1] 7003 Möchte man wissen ob das Script noch läuft kann man das mit „jobs“ abfragen und liefert je nach Status 2 unterschiedliche Ergebnisse: Script läuft noch: [1]+ Running /volume1/homes/admin/cpu.sh DiskStation 2 10 & Script ist fertig: [1]+ Done /volume1/homes/admin/cpu.sh DiskStation 2 10 & Mit dieser Methode läuft das Script zwar im Hintergrund weiter, wird aber dennoch abgebrochen wenn das Terminal-Fenster geschlossen wird. Möchte man das Terminal-Fenster schließen ohne dass die Ausführung des Scripts abgebrochen wird, kann man das mit Anhängen von „disown“ machen: Beispiel: /volume1/homes/admin/cpu.sh DiskStation 2 10 & disown Auch hier wird im Terminal danach die Jobnummer und PID angezeigt: Beispiel: [1] 7003 Soll zu einem späterem Zeitpunkt ermittelt werden ob das Script noch läuft kann dies in einem neuem Terminal-Fenster mit: „ps" abgefragt werden. Beispiel: ps –C cpu.sh Wenn das Script noch ausgeführt wird, liefert die Abfrage z.B: PID TTY TIME CMD 7003 pts/14 00:00:00 cpu.sh Das Script kann man mit „kill“ beenden. Dazu muss die PID mit übergeben werden. Beispiel: kill 7003 Log-Datei: ---------- Es soll 5 Minuten lang alle 10 Sekunden ein Wert ermittelt werden. Beispiel: /volume1/homes/admin/cpu.sh Passwort 10 5 Ergebnis: --------- Date Time Load temp1 temp2 temp3 temp4 temp5 Status "Disk 1" "Disk 2" "Disk 3" "Disk 4" "Disk 9" "Disk 10" "Disk 11" "Disk 12" 2018.05.16 13:51:20 1 45 37 36 45 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:51:30 2 41 41 38 40 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:51:40 1 42 42 38 40 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:51:50 2 41 36 41 39 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:00 2 40 35 40 40 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:10 1 44 36 38 44 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:20 1 43 43 37 40 35 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:30 1 41 36 41 40 35 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:40 1 42 42 37 39 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:52:50 1 43 37 37 43 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:00 2 42 42 38 40 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:10 1 45 36 38 45 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:20 1 41 40 41 40 35 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:30 1 44 37 39 44 34 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:40 1 41 37 41 40 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:53:50 2 41 41 37 40 33 40 29 30 36 35 36 36 37 36 2018.05.16 13:54:00 2 40 36 37 40 39 40 29 30 36 35 36 36 37 36 2018.05.16 13:54:10 2 40 36 37 40 38 40 29 30 36 35 36 36 37 36 2018.05.16 13:54:20 2 41 36 41 39 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:54:30 1 44 36 37 44 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:54:40 1 44 36 37 44 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:54:50 1 40 35 40 40 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:00 2 40 37 39 40 38 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:10 1 42 42 38 39 33 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:20 2 40 37 40 40 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:30 2 44 36 37 43 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:40 1 40 36 37 40 37 40 30 31 36 35 36 37 37 36 2018.05.16 13:55:50 1 40 36 40 40 32 40 30 31 36 35 36 37 37 36 2018.05.16 13:56:00 2 44 35 38 44 33 40 30 31 36 35 36 37 37 36 2018.05.16 13:56:10 2 40 40 39 40 34 40 30 31 36 35 36 37 37 36 2018.05.16 13:56:20 1 41 41 37 40 33 40 30 31 36 35 36 37 37 36 Load: Wert der CPU-Auslastung in Prozent (%) temp1: Temperatur der CPU in °C (Anzahl der Werte hängt von der CPU ab) Status: Thermal-Status der Synology NAS Disk 1: Temperatur der HDD in der Synology NAS in °C Die Log-Datei kann nach Beendigung, z.B. mit Excel, eingelesen und weiter ausgewertet werden. ToDo: ----- Logfile-Format kompatiebel zu CSV erstellen. (Muss ich mir noch überlegen) Schande! Die Umlaute funktionieren nicht immer zuverlässig!