Kopie zapasowe naszym sprzymierzeńcem - Bash Script
Kopie zapasowe nie raz potrafią uratować życie, gdy dysk nagle postanawia odmówić działania albo przypadkiem usuniemy projekt, bądź ktoś uprzejmy zrobi to za nas. W przypadku serwisów web dochodzi także kwestia bazy danych, której utrata może zaprzepaścić lata pracy.
Do tej pory korzystałem głównie z gotowych rozwiązań, szeroko oferowanych w sieci zostałem jednak poproszony przez kolegę o zbudowanie skryptu, który w założeniu skierowany ma być dla wielu użytkowników. Osoba ta nie miała nic przeciwko abym podzielił się nim, w związku z czym dziś prezentuje wam pierwszą wersję.
Kod znajdziecie pod tym adresem: pastebin.com/Ax97Dn2n . Składa się z dwóch sekcji: pliku konfiguracyjnego oraz samego skryptu. Zapewne znajdą się pewne niedociągnięcia, przypominam jednak że jest to wersja rozwojowa. Mimo to zaczyna działać produkcyjnie.
Starałem się w prosty sposób opisać co należy wpisać w konfiguracji, zalecam również spojrzeć na pierwsze linie skryptu, ponieważ wskazuje gdzie będą tworzone tymczasowe kopie:
„GLOBALTEMPDIR=/tmp/backup”
Poza tym w przypadku gdy, umieszczamy plik konfiguracyjny w innym miejscu niż główny katalog domowy, należy dokonać modyfikacji tej linii:
„source $HOME/backup.conf”
Włączone jest również sprawdzanie, czy jest on uruchamiany z uprawnieniami stosownego użytkownika.
Czego można spodziewać się w przyszłych wydaniach? Na pewno obsługi PgSQL, wysyłania powiadomień mailowych, czasu przechowywania kopii oraz SCP ( en.wikipedia.org/wiki/Secure_copy ). Zachęcam również innych do wskazywania czego według was brakuje i co by było fajnie mieć. Nie jestem programistą, jednak w skryptach powłoki poruszam się dość sprawnie, a każde wyzwanie szlifuje umiejętności :)