- Mitglied seit
- 15. Mai 2008
- Beiträge
- 21.900
- Punkte für Reaktionen
- 14
- Punkte
- 0
Die folgende Anleitung zeigt, wie man eine Anzeige der wichtigsten Systeminformationen als .cgi-Skript in den Disk Station Manager als 3rd-party-application einbaut.
Achtung: Wie immer erfolgen alle Änderungen mit telnet-Aufruf auf der DS und auf eigene Kappe
Voraussetzung: Die Option HTTPS-Verbindung ist aktiv, d. h. auf den Web Station Manager wird mit https://IP_der_DS:5001 zugegriffen.
(1) Ein Verzeichnis anlegen: /usr/syno/synoman/phpsrc/systeminfo und sich in das neue Verzeichnis stellen.
(2) Die Datei info.cgi erstellen mit folgendem Inhalt (Achtung, die erste Zeile ist sehr wichtig!) :
(3) Ein Verzeichnis anlegen: /usr/syno/synoman/webman/3rdparty/systeminfo. In diesem Verzeichnis die Datei application.cfg erfassen:
text = systeminfo
description = systeminfo
type = embedded
protocol = https
adress = localhost
port = 5001
path = /phpsrc/systeminfo/info.cgi
(4) Disk Station Manger aufrufen & testen
Wer etwas vermisst oder zusätzlich angezeigt bekommen möchte, kann entweder das Skript selbst erweitern oder hier posten - ich bau das dann ein.
Und um die Frage gleich vorweg zu nehmen, ob man auch Werte an ein .cgi-Skript übergeben kann: ja!
... skript.cgi?xyz
im Skript: echo $1 oder: echo $QUERY_STRING
Achtung: Wie immer erfolgen alle Änderungen mit telnet-Aufruf auf der DS und auf eigene Kappe
Voraussetzung: Die Option HTTPS-Verbindung ist aktiv, d. h. auf den Web Station Manager wird mit https://IP_der_DS:5001 zugegriffen.
(1) Ein Verzeichnis anlegen: /usr/syno/synoman/phpsrc/systeminfo und sich in das neue Verzeichnis stellen.
(2) Die Datei info.cgi erstellen mit folgendem Inhalt (Achtung, die erste Zeile ist sehr wichtig!) :
Rich (BBCode):
#!/bin/ash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>System-Info</title></head><body>"
echo "<style>body{font:11px Arial;}h3{color:#88F;}</style>"
echo "<h2>General system information for host $(hostname -s)</h2>"
echo "<div style='height:500px;overflow:auto'>"
echo "<h3>CPU</h3>"
echo "<pre>"
echo "$(cat /proc/cpuinfo) </pre>"
echo "<h3>Memory</h3>"
echo "<pre>"
echo "$(cat /proc/meminfo)"
echo ""
echo "$(free)</pre>"
echo "<h3>Flash-Layout</h3>"
echo "<pre>"
echo "$(cat /proc/mtd) </pre>"
echo "<h3>Partitions</h3>"
echo "<pre>"
echo "$(cat /proc/partitions)</pre>"
echo "<h3>Swap</h3>"
echo "<pre>"
echo "$(cat /proc/swaps)</pre>"
echo "<h3>Devices (Major-#)</h3>"
echo "<pre>"
echo "$(cat /proc/devices)</pre>"
echo "<h3>File-Systems</h3>"
echo "<pre>"
echo "$(cat /proc/filesystems)</pre>"
echo "<h3>RAID-Volumes</h3>"
echo "<pre>"
echo "$(cat /proc/mdstat)"
echo ""
echo "$(for m in /dev/md?; do echo ""; mdadm --query --detail $m; done)</pre>"
echo "<h3>mounted Volumes</h3>"
echo "<pre>"
echo "$(cat /proc/self/mounts)</pre>"
echo "<h3>File-System Usage</h3>"
echo "<pre>"
echo "$(df)</pre>"
echo "<h3>Installed Linux-Version</h3>"
echo "<pre>"
echo "$(cat /proc/version)</pre>"
echo "<h3>Installed Modules</h3>"
echo "<pre>"
echo "$(cat /proc/modules)</pre>"
echo "<h3>User</h3>"
echo "<pre>"
echo "$(cat /etc/passwd)"
echo ""
echo "$(who)</pre>"
echo "<h3>Processes</h3>"
echo "<pre>"
echo "$(ps)</pre>"
echo "<h3>Network Interfaces</h3>"
echo "<pre>"
echo "$(ifconfig eth0;ifconfig eth1)</pre>"
echo "<h3>Network Ports</h3>"
echo "<pre>"
echo "$(netstat -na)</pre>"
echo "<h3>NFS Mounts</h3>"
echo "<pre>"
echo "$(showmount)</pre>"
echo "<h3>Samba</h3>"
echo "<pre>"
echo "$(smbstatus -vS)</pre>"
echo "</div></body></html>"
(3) Ein Verzeichnis anlegen: /usr/syno/synoman/webman/3rdparty/systeminfo. In diesem Verzeichnis die Datei application.cfg erfassen:
text = systeminfo
description = systeminfo
type = embedded
protocol = https
adress = localhost
port = 5001
path = /phpsrc/systeminfo/info.cgi
(4) Disk Station Manger aufrufen & testen
Wer etwas vermisst oder zusätzlich angezeigt bekommen möchte, kann entweder das Skript selbst erweitern oder hier posten - ich bau das dann ein.
Und um die Frage gleich vorweg zu nehmen, ob man auch Werte an ein .cgi-Skript übergeben kann: ja!
... skript.cgi?xyz
im Skript: echo $1 oder: echo $QUERY_STRING