System Backupu
Źródło wymagań
Stworzenie centralnego systemu backupów dla komputerów z Linuksem na pokładzie, w pełni automatycznego z obsługą powiadomień.
Technologie
Rozwiązanie zostało oparte o rsync, mysql, ssmtp, apache, php oraz dcron, działające pod kontrolą systemu Arch Linux
Diagram struktury systemu

Komputery klienckie o określonej porze wykonują rsync danych do wydzielonego na serwerze centralnym modułu. Na serwerze znajduje się również baza MySQL w której zapisywane są wszelkie połączenia klientów niezależnie od tego czy backup zakończył się pomyślnie czy nie. Dane w bazie są regularnie przeglądane przez skrypt sprawdzający dla każdego klienta jak dawno wykonany został pomyślny backup. W przypadku okresu dłuższego niż ustawiony w konfiguracji, skrypt wysyła e-maila z informacją o braku aktualnego backupu maszyny jak na screenie:

Dodatkowo system ma wbudowaną aplikację webową, która pozwala wyświetlić zbiorcze informacje dla wszystkich klientów o czasie oraz wielkości wykonania ostatniego poprawnego backupu:

Na koniec uwaga odnośnie kierunku wykonywania backupów. Przy centralnym backupie lepszym rozwiązaniem wydaje się odwrócenie kierunku backupów, tak by serwer wysyłał żądania do klientów, dzięki czemu skrypt monitorujący aktualność, oprócz powiadomienia mógłby od razu spróbować wymusić backup, ewentualnie możliwe było by uruchamianie backupów z poziomu aplikacji webowej, jednak z racji specyfiki środowiska, gdzie niektóre komputery bywają tymczasowo niedostępne, bądź są w stanie, w którym nie należy wykonywać backupu - wolałem nie dawać centralnemu serwerowi możliwości uruchomienia backupu w niestosownej porze.