Zaloha.sh - Jednostavna skripta za sinhronizaciju lokalnog direktorija za Linux


Zaloha.sh je mala i jednostavna shell skripta koja se koristi za sinkronizaciju dva lokalna direktorija: izvornog direktorija i direktorija rezervne kopije. Koristi standardne Linux/Unix alate kao što su find, sort, awk, mkdir, rmdir, cp i rm kako bi podržao svoju osnovnu funkcionalnost.

Zaloha dobija informacije o direktorijumima i datotekama putem naredbe find. Oba direktorija moraju biti dostupna lokalno, tj. montirana na lokalni sistem datoteka. Takođe ima obrnutu sinhronizaciju i opciono može upoređivati datoteke bajt po bajt. Osim toga, traži od korisnika da potvrde akcije prije nego što se izvrše.

U ovom članku ćete naučiti kako instalirati i koristiti zaloha.sh za sinkronizaciju dva lokalna direktorija u Linuxu.

Instaliranje Zaloha.sh u Linux

Da biste instalirali Zaloha.sh, morate klonirati njegovo Github spremište pomoću git alata komandne linije, ali prije toga morate instalirati git kao što je prikazano.

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

Kada se git instalira, pokrenite sljedeću naredbu da klonirate udaljeno spremište na vaš sistem, premjestite se u lokalno spremište, a zatim instalirajte skriptu zaloha.sh na lokaciju u vašem PATH npr. /usr/bin i učinite ga izvršnim kao što je prikazano.

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

Sinhronizirajte dva lokalna direktorija u Linuxu pomoću Zaloha.sh

Sada kada je zaloha.sh instaliran u vašem PATH-u, možete ga pokrenuti normalno kao i bilo koju drugu naredbu. Možete sinkronizirati dva lokalna imenika kao što je prikazano.

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

Nakon što ga pokrene, zaloha će analizirati dva direktorija i pripremiti naredbe potrebne za sinkronizaciju dva direktorija.

Od vas će biti zatraženo da potvrdite radnje koje treba izvršiti: “Izvršiti gore navedene kopije na /var/www/html/admin_portal/? [Y/y=Da, other=ne raditi ništa i prekinuti]: ”. Odgovorite da da nastavite.

Sigurnosna kopija na vanjski/izmjenjivi USB medij

Također možete napraviti sigurnosnu kopiju na prenosivom mediju (npr. /media/aaronk/EXT) montiranom na lokalni sistem datoteka. Odredišni direktorij mora postojati da bi komanda funkcionirala, inače ćete dobiti poruku o grešci “Zaloha.sh: nije direktorij ”.

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

Sigurnosna kopija se mijenja iz izvora u direktorij rezervne kopije

Sada napravite još promjena u izvornom direktoriju, a zatim pokrenite zaloha.sh još jednom da napravite sigurnosnu kopiju promjena na vanjskom disku kao što je prikazano.

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 će kreirati nove direktorijume u direktorijumu rezervne kopije i kopirati sve nove fajlove iz izvora, kao i istaknute na sledećem snimku ekrana.

Obrnuta sinkronizacija promjena iz sigurnosne kopije u izvorni direktorij

Pod pretpostavkom da ste izvršili promjene u direktoriju sigurnosne kopije datoteka koje već postoje u izvornom direktoriju, možete učiniti da se promjene odraze u izvornom direktoriju pomoću funkcije obrnute sinhronizacije, omogućene pomoću opcije --renUp.

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

Imajte na umu da će sve nove datoteke ili direktoriji kreirani u direktoriju sigurnosne kopije koji ne postoje u izvornom direktoriju također biti izbrisani kao što je prikazano na sljedećem snimku ekrana.

Možete reći zaloha da prati simboličke veze u izvornom direktoriju koristeći opciju --followSLinksS i na backup direktoriju koristeći opciju --followSLinksB .

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

Da pogledate Zaloha dokumentaciju, pokrenite sljedeću naredbu.

zaloha.sh --help

To je sve za sada! Zalohah.sh je mala i jednostavna skripta za sigurnosnu kopiju zasnovana na Bash za sinkronizaciju dva lokalna direktorija u Linuxu. Isprobajte i podijelite svoje mišljenje s nama putem obrasca za povratne informacije u nastavku.