|
bash - Jak powiadomić admina serwera mailem o małej ilości miejsca na dysku?
szefooo - 03-06-2010 18:33
Witam! Chciałbym napisać skrypt, który będzie pobierał z pliku a.txt pewną wartość np. 400MB. Następnie sprawdzi, czy ilość miejsca dostępnego na dysku nie jest mniejsza/równa tej wartości i jeśli będzie za mało miejsca to wyśle e-mailem wiadomość do admina.
Trochę już kombinowałem sam ale nie wiem czy dobrze?
Pobierz z pliku wpisane, 400 czyli minimum wolnego miejsca. Zapisz ją jako zmienną a. Jak? (tu pewnie czegos brakuje) < plik_z_wpisana_liczba_400
I chciałbym mieć w tym pliku jeszcze zapisane inne zmienne, które później wykorzystam w innym celu.
Sprawdzam aktualną ilość wolnego miejsca na dysku. df -h
Pokazuje wolne miejsce na podłączonych systemach plików. Tu znów nie wiem jak przypisać tą wartość jakiejś zmiennej b.
Sprawdzam, czy wolne miejsce w systemie jest mniejsze lub równe temu z pliku. Najlepiej co pewien odstęp czasu. if [ b -lt a ] then mail -s "temat wiadomości" mój_adres@email.com < plik_z_informacja_o_braku_miejsca fi
Jeśli ilość wolnego miejsca jest za mała to wysyłany jest mail, do którego będzie dołączony tekst z pliku (plik_z_informacją_o_braku_miejsca).
Może być też tak, że wyśle jakiś tekst zapisany już w skrypcie ale nie wiem jak to napisać.
Może po prostu: mail -s "uwaga krytyczna ilość wolnego miejsca na dysku" mój_adres@email.com
Tak?
lessmian2 - 03-06-2010 19:52
Tak w ogóle, to przeczytałeś i przerobiłeś jakiś kurs basha?
Pobierz z pliku wpisane, 400 czyli minimum wolnego miejsca. Zapisz ją jako zmienną a. Jak?
Tworzysz plik w którym będą zmienne: VAR1=cos1 VAR2=cos2 VAR3=cos3
W skrypcie importujesz ten plik: #/bin/sh
. plik_ze_zmiennymi #dostępne są już ${VAR1}, ${VAR2} ...
Sprawdzam aktualną ilość wolnego miejsca na dysku. df -h
Ile masz partycji? Można to różnie rozwiązać, zależy czy masz jedną partycję czy więcej. No i co dokładnie chcesz pobrać z df?
szefooo - 03-06-2010 21:16
Czytałem takie skromne poradniki w internecie ale takie konkretne operacje na plikach to są tylko na forach. Wiadomo najlepiej się uczy na przykładach.
Chcę pobrać ilość zajętego lub wolnego miejsca z jednej partycji żeby później sprawdzić, czy na dysku jest mniej wolnego miejsca niż 400MB. Jeżeli będzie mniej to powinien się wysłać e-mail informujący mnie, że miejsce się kończy.
Tego właśnie nie wiedziałem że zmiennym się przypisuje wartości już w pliku. Jeśli dobrze rozumiem -> VAR1=400 Chciałem to zrobić w skrypcie. Takie przyzwyczajenie z C++.
lessmian2 - 03-06-2010 21:30
Napisałeś, że chcesz mieć zmienne zdefiniowane w osobnym pliku, aby móc je wykorzystać w innym celu. Równie dobrze zmienne możesz zdefiniować bezpośrednio w skrypcie. Proponuję jednak poczytać co nie co, np. TO i przećwiczyć.
szefooo - 03-06-2010 22:00
Właśnie potrzebuję aby zmienne były w pliku żeby różne osoby mogły to zmieniać. Nie chce żeby mi ktos później grzebał w skrypcie.
Już się biore za lekturkę. Dzięki!
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|