Dziesiejszy problem był następujący: Proces wykonywania kopii zapisuje pliki na dysk zewnętrzny. Wypadałoby jednak powiadomić administratora jeżeli dysk jest pełny, żeby mógł wstawić nowy dysk lub ewentualnie usunąć stare kopie.
Moje rozwiązanie wykorzystuje alerty systemu Windows Server 2003 i programik sendemail znaleziony w sieci (http://caspian.dotconf.net/ http://www.tsheets.com/). Zada działania alertu jest taka, że jeśli serwer zauważy przekroczoną wartość pewnego licznika, to może wykonać ewną akcję. U mnie tym licznikiem jest ilość wolnego miejsca na dysku, a akcją wysłanie maila.
Najpierw alert:
- Uruchom Performance Monitor (Panel sterowania –> Narzędzia Administracyjne –> Monitor systemu)
- Wejdź w alerty i zdefiniuj nowy alert dla licznika dysk logiczny/free megabytes
- Określ, że alert ma się odpalić, jeśli wskazanie licznika będzie mniejsze niż określona liczba megabajtów (u mnie 20000) . Badanie licznika ma się wykonywać co 12 godzin.
- Określ, że kiedy alert się uruchomi to ma wywołać akcję – uruchomić Twój skrypt wysyłający maila.
- Skrypt może być zwykłym batch-em o nastpującej zawartości:
sendEmail -f <adres_email, z którego wysyłasz pocztę> -t <adres email na który wysyłasz pocztę> -s smtp.gmail.com:587 -xu <nazwa_logowania do poczty - zwykle email> -xp <hasło> -u "Brak miejsca na kopie uzytkownikow" -m "Przepelniony magazyn pamieci wymiennej na kopie uzytkownikow. Usun lub przenies stare kopie, aby zwolnic miejsce."
Jak widać u mnie zadziałało z konetm na GMail-u. O ile ilość wolnego miejsca na dysku X: spadnie poniżej 20000 MB, to po maksymalnie 12 godzinach zostanie uruchomiony skrypt wysyłający maila do administratora. O to właśnie chodziło.