Voor hen die er gebruik van willen maken mijn werkwijze:
Ten eerste moeten we de temperatuur informatie uit de NAS halen. In een telnet sessie geef je hiervoor het volgende commando (met dank aan Sm0ke0ut):
/usr/syno/bin/smartctl -d sat -T permissive -l scttempsts /dev/sda
Dit geeft ons de volgende informatie:
smartctl 5.42 2011-10-20 r3458 [armv5tel-linux-2.6.32.12] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Unable to get testing progress of /dev/sda
=== START OF READ SMART DATA SECTION ===
SCT Status Version: 3
SCT Version (vendor specific): 522 (0x020a)
SCT Support Level: 1
Device State: Active (0)
Current Temperature: 34 Celsius
Power Cycle Min/Max Temperature: 14/41 Celsius
Lifetime Min/Max Temperature: 14/41 Celsius
Met een cronjob kunnen we dit automatiseren en de gegevens opslaan in een bestand. Om cronjobs te maken en te beheren heeft WizJos een perfect script geschreven.
Download, installeer en voer eerst uit: init_3rd_party. Dit vind je op de site van WizJos:
http://wizjos.endofinternet.net/synology/index.php/algemeen/3rd-party-apps/init3rdpartyVervolgens download en installeer je het cronjobs script:
http://wizjos.endofinternet.net/synology/index.php/scripts/cronjobsVreemd genoeg werkt dit script sinds DSM 4.0 (bij mij althans) alleen correct als je op DSM inlogt via je
extern IPadres. Dus even 'buitenom gaan'.
Maak in een nieuwe cronjob aan met het volgende commando:
/usr/syno/bin/smartctl -d sat -T permissive -l scttempsts /dev/sda> /volume1/....../servertemp.txt
Maak de bestemmingsdirectory compleet met het pad van je keuze. Kies een gebruiker, geef de job een beschrijving (altijd handig om later terug te kunnen zien waar je die job ook al weer voor gemaakt had) en kies een interval voor de job.
Nu willen we de temperatuur weergeven op een webpagina. Hiervoor gebruik ik dit simpele script:
<?php>
//Open het bestand op de lokatie waar de cronjob het heeft neergezet
$a = fopen("/...../servertemp.txt","r");
$b = file("/...../servertemp.txt");
$numbers = count($b);
//lees de regels van het bestand
for ($i=0;$i<10;$i++)
{
//print("$b[$i]<br>");
//verwijder bovenstaande slashes om alle regels weer te geven.
}
//lees de temperatuur op regel 9, 11 positie van rechts, twee posities
$temp = substr($b[9], -11, 2);
//toon temperatuur op scherm
echo "Temperatuur van MijnSynology NAS: $temp° C.";
//sluit bestand
fclose($a);
?>
Plezier en succes er mee!