Automatische Auflistung von Ordnerinhalten

Status
Für weitere Antworten geschlossen.

Deepbluesee

Gesperrt
Mitglied seit
03. Okt 2011
Beiträge
111
Punkte für Reaktionen
1
Punkte
18
Hallo,

ich suche eine Möglichkeit um mir z.B. einmal in der Woche den Inhalt eines bestimmten Ordner per E-Mail zugesendet zu bekommen. Also z.B. Alle Filme im Filmordner auf der Diskstation. Jemand eine Idee?

Zudem würde ich mir gerne alle Temperaturen aufzeichnen lassen und diese mir auch grafisch darstellen lassen hier wäre denke ich eine Aufzeichnung all 5min oder so sinnvoll.
Danke
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.350
Punkte für Reaktionen
647
Punkte
174
Hmmmm ...
Du müsstest ein Script basteln, das im wesentlichen einen "ls -la" enthält und das Ergebnis "hübsch" in ein Textfile pinselt.
Anschliessend wäre das Textfile automatisiert per Mail zu versenden, indem das zuvor generierte Textfile als BODY dient.
 

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
Hi,

hinsichtlich des Inhaltes eines bestimmten Verzeichnisses nutze ich eine ähnliche Funktion mit einem selbstgebauten Skript und dem Taskplaner der DS. Keine Ahnung wie fit Du mit selbstgebauten Skripts bist. Hier mal meine Vorgehensweise dazu:

Zuerst legst Du Dir mal einen Ordner skripte auf der DS an (Kleinschreibung beachten).

Dann benötigst Du ein PHP-Skript, welches den Mailversand regelt. Der Dateiname muss statusmail.php sein und du musst die Datei in das Verzeichnis skripte speichern. In dem Skript musst du nur an der Stelle, an der 'deine@mailadresse.de' steht, Deine Empfänger-Mailadresse eintragen.

Rich (BBCode):
<?php
// Variablen
$to =     'deine@mailadresse.de';
$header = 'From: DS716+ <deine@mailadresse.de>' . "\r\n" .
	  'X-Mailer: PHP/' . phpversion();

// Parameter
$betreff = $argv[1];
$nachricht = $argv[2];

// Mail
mail ($to, $betreff, $nachricht, $header);
?>

Zudem benötigst Du ein Skript, welches den Inhalt eines von dir vorher festgelegten Ordners ausliest und den Inhalt dieses Ordners in eine Mail packt. Sieht dann so aus:

Rich (BBCode):
#!/bin/bash

### Bitte hier den Pfad zu statusmail.php anpassen
script_path=/volume1/skripte/statusmail.php

# Gesamtinhalte des Verzeichnisses /volume1/MEINORDNER auslesen
inhaltgesamt=`ls /volume1/MEINORDNER`

### Mail options
betreff="---> Inhalt im Verzeichnis MEINORDNER <---"
### Nachricht
nachricht="

++++++++++++++++++++++++++++++++++++++++++++++++++++++
+    Folgende Dateien sind im Verzeichnis /volume1/MEINORDNER   +
++++++++++++++++++++++++++++++++++++++++++++++++++++++

$inhaltgesamt

++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                               ---> ENDE DER MITTEILUNG <---                       +
++++++++++++++++++++++++++++++++++++++++++++++++++++++
"

### Send Mail
php "${script_path}" "$betreff" "$nachricht" 

exit 0

Das Skript speicherst Du am besten auch in den Ordner skripte unter dem Dateinamen inhalt.sh. Anpassen musst Du nur den Namen des Verzeichnisses, dessen Inhalt du per Mai mitgeteilt haben möchtest.

Voraussetzung ist neben den genannten Skripten, dass der Mailversand der DS unter Benachrichtigungen eingerichtet ist.

Anschließend rufst Du Dir den Taskplaner der DS auf und erstellst dort einen benutzerdefinierten Task. In diesem legst Du fest, wie oft das Skript ausgeführt werden soll.
Als Befehl zum Ausführen des Skriptes gibtst Du

sh /volume1/skripte/inhalt.sh

ein.

Hab das jetzt eben mal grob aus dem Kopf bei der Arbeit zusammengeschrieben. Müsste aber so passen. Vielleicht hilft Dir das grob schonmal weiter. Wenn nicht, frag ruhig, dann versuche ich Dir zu helfen. Gerne kann ich auch versuchen, die Skripte auch für dich anpassen, falls Du damit Probleme hast. Nutzung auf eigene Gefahr ;-)

Gruß
Fraubi
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat