Zaloha.sh - vienkāršs vietējā direktorija sinhronizētāja skripts Linux


Zaloha.sh ir niecīgs un vienkāršs čaulas skripts, ko izmanto mkdir, rmdir, cp un rm, lai atbalstītu tā pamatā esošo funkcionalitāti.

Zaloha iegūst informāciju par direktorijiem un failiem, izmantojot komandu find. Abiem direktorijiem jābūt pieejamiem lokāli, t.i., jāpiestiprina vietējā failu sistēmā. Tam ir arī reversā sinhronizācija, un pēc izvēles var salīdzināt failu baitu pēc baita. Turklāt tas prasa lietotājiem apstiprināt darbības pirms to izpildes.

Šajā rakstā jūs uzzināsit, kā instalēt un izmantot zaloha.sh divu vietējo direktoriju sinhronizēšanai Linux.

Zaloha.sh instalēšana Linux

Lai instalētu Zaloha.sh, jums jāklonē tā Github krātuve, izmantojot komandrindas rīku git, bet pirms tam jāinstalē git, kā parādīts.

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

Kad git ir instalēts, izpildiet šo komandu, lai klonētu attālo repozitoriju savā sistēmā, pārejiet uz vietējo repozitoriju, pēc tam instalējiet skriptu zaloha.sh savā PATH vietā, piemēram,/usr/bin, un padariet to izpildāmu, kā parādīts.

$ 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

Sinhronizējiet divus vietējos direktorijus Linux, izmantojot vietni Zaloha.sh

Tagad, kad zaloha.sh ir instalēts jūsu PATH, jūs varat to palaist kā parasti jebkuru citu komandu. Jūs varat sinhronizēt divus vietējos direktorijus, kā parādīts.

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

Pēc tā palaišanas zaloha analizēs abus direktorijus un sagatavos komandas, kas nepieciešamas abu direktoriju sinhronizēšanai.

Jums tiks lūgts apstiprināt veicamās darbības: “Izpildīt iepriekš uzskaitītās kopijas uz/var/www/html/admin_portal /? [Jā/Jā = Jā, cits = nedarīt neko un pārtraukt]: ”. Atbildiet jā, lai turpinātu.

Dublēšana uz ārēju/noņemamu USB datu nesēju

Varat arī dublēt noņemamā datu nesējā (piem.,/Media/aaronk/EXT), kas uzstādīts vietējā failu sistēmā. Lai komanda darbotos, ir jābūt galamērķa direktorijai, pretējā gadījumā tiks parādīts kļūdas ziņojums “Zaloha.sh: nav direktorijs”.

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

Dublēšanas izmaiņas no avota uz dublējuma direktoriju

Tagad veiciet vairāk izmaiņu avota direktorijā, pēc tam vēlreiz palaidiet zaloha.sh, lai dublētu izmaiņas ārējā diskā, kā parādīts.

$ 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 izveidos jaunos direktorijus dublējuma direktorijā un kopēs visus jaunos failus no avota, kā arī tiks izcelti nākamajā ekrānuzņēmumā.

Reversā sinhronizēt izmaiņas no dublējuma uz avotu direktoriju

Pieņemot, ka esat veicis izmaiņas dublējuma direktorijā failos, kas jau pastāv avota direktorijā, varat veikt izmaiņas atspoguļot avota direktorijā, izmantojot reversās sinhronizācijas funkciju, kas iespējota, izmantojot opciju --renUp .

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

Ņemiet vērā, ka visi jaunie dublējuma direktorijā izveidotie faili vai direktoriji, kas nepastāv avota direktorijā, arī tiks dzēsti, kā norādīts nākamajā ekrānuzņēmumā.

Jūs varat pateikt zaloha sekot simboliskām saitēm avota direktorijā, izmantojot opciju --followSLinksS , un dublējuma direktorijā, izmantojot opciju --followSLinksB .

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

Lai skatītu Zaloha dokumentāciju, palaidiet šo komandu.

$ zaloha.sh --help

Tas pagaidām ir viss! Zalohah.sh ir mazs un vienkāršs uz Bash balstīts rezerves skripts, lai sinhronizētu divus vietējos direktorijus Linux. Izmēģiniet to un dalieties savās domās, izmantojot zemāk esošo atsauksmju veidlapu.