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:
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.