Automatyczne sortowanie poczty
Środowisko
Trzy lokalizacje, w których zaimplementowano rozwiązanie backupu w oparciu o program Bareos. Bareos jest programem opensource przeznaczonym do tworzenia kopii danych z systemów linux oraz windows. Może współpracować z biblioteką taśmową lub dyskami, na których zapisuje dane. Po zakończeniu każdego zadania Bareos tworzy raport z jego przebiegu. Raporty te mogą być na bieżąco wysyłane pocztą elektroniczną do operatora backupu.
Cel działania
Skonfigurować środowisko, które pozwoli odfiltrować nieistotne informacje, a jednocześnie przesłać te, które wymagają uwagi do odpowiednich osób. Rozwiązanie powinno być elastyczne i nie wymagające długotrwałego testowania, najlepiej bez jakichkolwiek prac programistycznych.
Rozwiązanie
Do rozwiązania wykorzystano program do pracy grupowej GroupWise 2014. Program pozwala na konfiguracje reguł dla skrzynki pocztowej. Reguły te są przetwarzane przez agenta urzędu pocztowego i działają niezależnie od tego czy dla tej skrzynki pocztowej działa program klienta poczty. GroupWise umożliwia też kodowanie przesyłek kolorami poprzez przypisanie im kategorii.
Konfiguracja Bareos’a
Plik konfiguracyjny bareos-dir.conf zawiera sekcję odpowiedzialną za treść wysyłanych komunikatów
mailcommand = “/usr/sbin/bsmtp -h localhost -f \”(Bareos delkom) \<%r>\” -s \”Bareos: %t %e of %n %l\” %r”
operatorcommand = “/usr/sbin/bsmtp -h localhost -f \”(Bareos delkom) \<%r>\” -s \”Bareos: Intervention needed for %j\” %r”
mail = backupadmin@XXX.XXX.pl = all, !skipped
W stosunku do domyślnego pliku dodano określenie klienta i zmieniono %c na %n (numer zadania na nazwę klienta bareos)
Serwer pocztowy
Zainstalowano serwer pocztowy na bazie SLES11SP3 w środowisku wirtualnym. Wykorzystano plik w formacie qcow2 o wielkości 30GB skompresowany do ok 12GB. Ze względu na fakt, że niektórzy odbiorcy poczty mają główne skrzynki pocztowe w innych systemach, zdefiniowano domenę zewnętrzną i zewnętrzny urząd pocztowy. W tym urzędzie pocztowym utworzono zewnętrznych użytkowników przypisując im adresy poczty internetowej z których korzystają codziennie.
Grupy użytkowników
Ze względu na wygodę ewentualnych późniejszych zmian utworzono grupy użytkowników. Bareos wysyła komunikaty do grupy backupadmin, rzeczywistym odbiorcą będzie każdy użytkownik dodany do tej grupy. W konfiguracji GWIA musi być włączone rozwijanie grup (zaznaczone Expand groups on incoming messages).
Kategorie
Dla ułatwienia obserwacji zbiorczej skrzynki pocztowej zdefiniowane kategorie oznaczone różnymi kolorami tekstu. Zdefiniowano kilak dodatkowych kategorii.
Foldery
Dla każdej lokalizacji (klienta) utworzono folder. Dodatkowo utworzono trzy foldery robocze potrzebne dla prawidłowego działania reguł. Są to „bareos”, „with categories” i „before select”
Reguły
Reguły odpowiadają za przypisanie kategorii do przesyłki i przeniesienie jej do właściwego folderu. Są utworzone w skrzynce pocztowej robot. Robot jest członkiem grupy backupadmin i otrzymuje wszystkie przesyłki wysłane przez Bareos.
Każda reguła w GroupWise jest definiowana przez:
- zdarzenie, które ją uruchamia
- warunki, które musi spełnić przesyłka
- lista czynności, które mają być wykonane dla przesyłki
Reguły są uruchamiane jedna po drugiej zgodnie z kolejnością w jakiej zostały zapisane do momentu gdy wykonywania reguła uruchomi czynność „Zakończ wykonywanie reguły” (Stop Rule Processing)
Zastosowanie reguł
W przygotowanym rozwiązaniu zastosowano całą grupę reguł, które tworzą całą sekwencję działań. Pojedyncza reguła często nie może wykonać wszystkich niezbędnych czynności, wygodna metodą jest utworzenie czegoś w rodzaju linii produkcyjnej w której reguły wykonuja proste czynności i przekazują wyniki swoich działań do następnego folderu (stanowiska pracy). Przy takim podejściu do złożonego problemu można łatwiej wykryć i skorygować błędy w definicji reguł oraz stopniowo rozbudowywać funkcje projektu.
Korekta
Niedługo po uruchomieniu GroupWise, osoby które otrzymywały komunikaty z systemu i odbierają pocztę przy pomocy telefonu, zgłosiły potrzebę zmian funkcjonalnych. Przesyłki mają być dostaczane tylko w godzinach pracy. GroupWise ma możliwość opóźnienia dostarczenia przesyłki, ale jest to możliwe tylko dla nowych przesyłek wysyłanych przez klienta. Reguły nie maja dostępu do takich funkcji GroupWise. Kosztem jednej skrzynki pocztowej (dodatkowa licencja w GroupWise 2014/bez kosztów we wcześniejszych wersjach) można skonfigurować system tak, by wysyłał przesyłki w określonym przedziale czasu.
Opóźnienie przekazywania przesyłek
Mechanizm opóźniania przesyłek bazuje na dodatkowej domenie GroupWise i dodatkowym urzędzie pocztowym. Utworzono domenę dldom wraz z urzędem pocztowym dlpo. W urzędzie pocztowym utworzono skrzynkę pocztową użytkownika. Dla tego użytkownika utworzono regułę, która przekazuje przesyłki do grupy delayed-delivery-group, która ma otrzymywać opóźnione przesyłki. MTA domeny dldom jest włączany i wyłączany przez Cron’a tak, że w działa tylko w godzinach pracy. Poza godzinami pracy MTA jest wyłączony i przesyłki są gromadzone w kolejce domeny.