Wyszukiwanie w witrynie

Zaloha.sh - prosty skrypt synchronizatora katalogów lokalnych dla systemu Linux


Zaloha.sh to mały i prosty skrypt powłoki używany do synchronizowania dwóch katalogów lokalnych: katalogu źródłowego i katalogu kopii zapasowej. Wykorzystuje standardowe narzędzia Linux/Unix, takie jak find, sort, awk, mkdir, rmdir, cp i rm do obsługi podstawowej funkcjonalności.

Zaloha uzyskuje informacje o katalogach i plikach za pomocą polecenia find. Obydwa katalogi muszą być dostępne lokalnie, tj. zamontowane w lokalnym systemie plików. Posiada również odwrotną synchronizację i opcjonalnie może porównywać pliki bajt po bajcie. Poza tym prosi użytkowników o potwierdzenie działań przed ich wykonaniem.

W tym artykule dowiesz się, jak zainstalować i używać zaloha.sh do synchronizacji dwóch lokalnych katalogów w systemie Linux.

Instalowanie Zaloha.sh w systemie Linux

Aby zainstalować Zaloha.sh, musisz sklonować jego repozytorium Github za pomocą narzędzia wiersza poleceń git, ale wcześniej musisz zainstalować git, jak pokazano.

dnf  install git		# CentOS/RHEL 8/Fedora 22+
yum install git		# CentOS/RHEL 7/Fedora
sudo apt install git		# Ubuntu/Debian

Po zainstalowaniu git uruchom następującą komendę, aby sklonować zdalne repozytorium do swojego systemu, przejdź do lokalnego repozytorium, a następnie zainstaluj skrypt zaloha.sh w lokalizacji w swoim PATH, np. /usr/bin i uczyń go wykonywalnym, jak pokazano.

git clone https://github.com/Fitus/Zaloha.sh.git
cd Zaloha.sh/
echo $PATH
sudo cp Zaloha.sh /usr/bin/zaloha.sh
sudo chmod +x /usr/bin/zaloha.sh

Zsynchronizuj dwa katalogi lokalne w systemie Linux za pomocą Zaloha.sh

Teraz, gdy zaloha.sh jest zainstalowany w Twojej PATH, możesz uruchomić go normalnie, jak każde inne polecenie. Można zsynchronizować dwa katalogi lokalne, jak pokazano.

sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

Po uruchomieniu zaloha przeanalizuje oba katalogi i przygotuje polecenia niezbędne do ich synchronizacji.

Zostaniesz poproszony o potwierdzenie czynności do wykonania: „Wykonać powyższe kopie do /var/www/html/admin_portal/? [T/y=Tak, other=nic nie rób i przerwij]: ”. Odpowiedz tak, aby kontynuować.

Kopia zapasowa na zewnętrznym/wymiennym nośniku USB

Możesz także wykonać kopię zapasową na nośniku wymiennym (np. /media/aaronk/EXT) zamontowanym w lokalnym systemie plików. Aby polecenie zadziałało, musi istnieć katalog docelowy, w przeciwnym razie pojawi się komunikat o błędzie „Zaloha.sh: nie jest katalogiem”.

sudo mkdir /media/aaronk/EXT/admin_portal
sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Kopia zapasowa Zmiany ze źródła do katalogu kopii zapasowych

Teraz wprowadź więcej zmian w katalogu źródłowym, a następnie jeszcze raz uruchom plik zaloha.sh, aby utworzyć kopię zapasową zmian na dysku zewnętrznym, jak pokazano.

mkdir /home/aaronk/admin_portal/plugins
mkdir /home/aaronk/admin_portal/images
sudo zaloha.sh --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Zaloha.sh utworzy nowe katalogi w katalogu kopii zapasowej i skopiuje wszystkie nowe pliki ze źródła, jak pokazano na poniższym zrzucie ekranu.

Odwróć synchronizację zmian z kopii zapasowej do katalogu źródłowego

Zakładając, że w katalogu kopii zapasowej dokonałeś zmian w plikach, które już istnieją w katalogu źródłowym, możesz odzwierciedlić te zmiany w katalogu źródłowym, korzystając z funkcji synchronizacji wstecznej, włączanej za pomocą opcji --renUp.

zaloha.sh --revUp --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Pamiętaj, że wszelkie nowe pliki lub katalogi utworzone w katalogu kopii zapasowej, które nie istnieją w katalogu źródłowym, zostaną również usunięte, jak pokazano na poniższym zrzucie ekranu.

Możesz nakazać zaloha, aby podążała za dowiązaniami symbolicznymi w katalogu źródłowym za pomocą opcji --followSLinksS oraz w katalogu kopii zapasowej za pomocą opcji --followSLinksB .

sudo zaloha.sh --followSLinksS  --followSLinksB --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

Aby wyświetlić dokumentację Zaloha, uruchom następujące polecenie.

zaloha.sh --help

To wszystko na teraz! Zalohah.sh to mały i prosty skrypt do tworzenia kopii zapasowych oparty na Bash, służący do synchronizowania dwóch lokalnych katalogów w systemie Linux. Wypróbuj i podziel się z nami swoimi przemyśleniami za pomocą poniższego formularza opinii.