Dateigröße überwachen und ab einer Grenze eine E-Mail-Benachrichtigung senden

Biohazard92

PC-Selbstbauer(in)
Dateigröße überwachen und ab einer Grenze eine E-Mail-Benachrichtigung senden

Guten Tag,

ich bin gerade auf der Suche nach einer möglichst simplen Lösung um auf einem Windows Server 2008 R2 eine Hand voll Dateien auf ihre individuelle Dateigröße täglich zu überwachen. Beim Überschreiten einer gewissen Dateigröße von einer Datei soll eine E-Mail-Benachrichtigung gesendet werden.

Kennt da jemand zufällig eine simple Lösung?

Vielen Dank
 
AW: Dateigröße überwachen und ab einer Grenze eine E-Mail-Benachrichtigung senden

Unter Linux würde ein entsprechendes script so aussehen:

Code:
#!/bin/bash

file=yourfile
maxsize=1 # 1 kilobytes

while inotifywait -e access "$file"; do
    actualsize=$(du -k "$file" | cut -f1)
    if [ $actualsize -ge $maxsize ]; then
        echo size is over $maxsize kilobytes
        .... send email ....
        exit    
    else
        echo size is under $maxsize kilobytes
    fi
done
mit
Code:
subject="size exceeded on file $file"
emailAddr="you@you.com"
mailCmd="mail -s \"$subject\" \"$emailAddrs\""
( echo ""; echo "DATE: $(date)"; ) | eval mail -s "$subject" \"$emailAddr\"

Unter Windows geht das im Prinzip genauso, nur eben mit den entsprechenden .NET oder C Frameworks, je nachdem ob du ein Powershell-Script oder ein C-Programm dafür schreiben willst.:
- Statt inotify z.B. https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx (.Net) oder FindFirstChangeNotification function (Windows) (C Api)
- Zum Mailsenden z.B. https://technet.microsoft.com/en-us/library/hh849925.aspx (.Net oder Powershell)

Natürlich kannst du dir auch ein entsprechendes Script schreiben ohne inotify und dieses regelmäßig ausführen via scheduled tasks. Obige Methode ist aber sauberer.
 
AW: Dateigröße überwachen und ab einer Grenze eine E-Mail-Benachrichtigung senden

Vielen Dank schonmal für die ausführliche Antwort, bin leider weder PowerShell noch C-Virtuose und deine Links verwirren mich etwas, z.B. finde ich bei "FindFirstChangeNotification function (Windows)" nur eine Option "File_Notify_Change_Size" welches allerdings eine Veränderung der Dateigröße überwacht und dann einen Alarm auslöst, der Alarm soll aber erst beim Überschreiten einer gewissen Dateigröße ausgelöst werden, oder verstehe ich da was falsch?

Ein "fertiges" Script für eine einzelne Datei, bei dem ich nur den Pfad zur Datei und den Schwellwert ab wann ein Alarm ausgelöst werden soll hast du nicht zufällig?

Das Script dann 3x anpassen für die 3 Dateien und 1x täglich übern Task Scheduler ausführen würde mir ja ausreichen. Dann fehlt nur noch die Mail-Benachrichtigung.
 
Zurück