Skrypt do automatyzacji tworzenia kopii zapasowych

Dzielimy się z Wami scenariuszem przygotowanym przez jednego z naszych czytelników do wykonania kopie zapasowe automatycznie. Jeszcze jedna szansa uczyć się użyć terminal i rozwijaj się skrypty spersonalizowane. 

To wkład od Daniela Durantego, stając się tym samym jednym ze zwycięzców naszego cotygodniowego konkursu: «Podziel się swoją wiedzą o Linuksie«. Gratulacje Daniel!

Funkcjonalność

  • Twórz kopie zapasowe za pomocą polecenia rsync.
  • Użyj skryptu bash.
  • Obecna wersja umożliwia korzystanie tylko lokalnie.

Wymagania i instalacja

Aby skrypt działał, system musi mieć aplikację gdialog.

Nie wymaga instalacji, wystarczy umieścić skrypt w katalogu $ HOME / .copies /. Ten parametr znajduje się w zmiennej script_directory i można go zmienić.

Wybór katalogu źródłowego i docelowego dla kopii

W obecnej wersji są one określane poprzez edycję skryptu copy.sh. Użyty format korzysta z opcji -acv i -delete.

Na przykład:

rsync -acv --delete $ user_directory'directory_to_backup '$ target_directory

gdzie zastąpimy katalog_do_zapasowania nazwą żądanego katalogu.

Zmienna $ user_directory ma przypisaną wartość w skrypcie.

Zmienna $ destination_directory ma przypisaną wartość odczytaną w pliku copy.cfg

Plik konfiguracyjny

Plik konfiguracyjny nazywa się copy.cfg i znajduje się w katalogu $ HOME / .copies /

Struktura pliku konfiguracyjnego

Drugi wiersz określa miejsce docelowe kopii zapasowej:

# Miejsce docelowe / media / Iomega_HDD /

Pilniki Akcesoria

Plik skryptowy copy_ini.sh sprawdza, czy kopie zapasowe zostały utworzone z określoną częstotliwością. Obecnie w pliku konfiguracyjnym nie ma parametru, który by to określał, który jest ustawiany codziennie w tym samym skrypcie.

Zautomatyzuj proces tworzenia kopii zapasowych

1.- Umieść crona za pomocą polecenia crontab -e w podobny sposób do poniższego:

# mh dom mon dow polecenie
0 20 * * * DISPLAY = »: 0 ″ ​​/home/user/.copies/copias.sh

W tym przykładzie wykonanie skryptu byłoby uruchamiane codziennie o godzinie 20:00

2.- Dodaj na początku programy do wykonania skrypt copy_ini.sh wskazujący pełną ścieżkę do niego