Vyhledávání na webu

Zaloha.sh - Jednoduchý skript lokálního synchronizátoru adresáře pro Linux


Zaloha.sh je malý a jednoduchý shell skript používaný k synchronizaci dvou lokálních adresářů: zdrojového adresáře a záložního adresáře. Využívá standardní nástroje Linux/Unix, jako je find, sort, awk, mkdir, rmdir, cp a rm, které podporují jeho základní funkce.

Zaloha získává informace o adresářích a souborech pomocí příkazu find. Oba adresáře musí být dostupné lokálně, tj. připojené k místnímu souborovému systému. Obsahuje také zpětnou synchronizaci a může volitelně porovnávat soubory bajt po byte. Kromě toho žádá uživatele, aby potvrdili akce před jejich provedením.

V tomto článku se dozvíte, jak nainstalovat a používat zaloha.sh k synchronizaci dvou lokálních adresářů v Linuxu.

Instalace Zaloha.sh v Linuxu

Chcete-li nainstalovat Zaloha.sh, musíte naklonovat jeho úložiště Github pomocí nástroje příkazového řádku git, ale předtím musíte nainstalovat git podle obrázku.

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

Jakmile je git nainstalován, spusťte následující příkaz pro naklonování vzdáleného úložiště do vašeho systému, přesuňte se do místního úložiště a poté nainstalujte skript zaloha.sh do umístění ve vašem PATH např. /usr/bin a udělejte jej spustitelným, jak je znázorněno.

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

Synchronizujte dva místní adresáře v Linuxu pomocí Zaloha.sh

Nyní, když je zaloha.sh nainstalován ve vašem PATH, můžete jej spustit normálně jako jakýkoli jiný příkaz. Můžete synchronizovat dva místní adresáře, jak je znázorněno.

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

Po jeho spuštění zaloha analyzuje dva adresáře a připraví příkazy potřebné k synchronizaci těchto dvou adresářů.

Budete vyzváni k potvrzení akcí, které mají být provedeny: „Spustit výše uvedené kopie do /var/www/html/admin_portal/? [Y/y=Ano, other=nedělat nic a přerušit]: “. Chcete-li pokračovat, odpovězte ano.

Zálohování na externí/vyměnitelné USB médium

Můžete také zálohovat na vyměnitelné médium (např. /media/aaronk/EXT) připojené k místnímu systému souborů. Aby příkaz fungoval, musí existovat cílový adresář, jinak se zobrazí chybová zpráva „Zaloha.sh: is not a directory “.

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

Záloha Změny ze zdroje do adresáře záloh

Nyní proveďte další změny ve zdrojovém adresáři a poté spusťte zaloha.sh ještě jednou, abyste zazálohovali změny na externím disku, jak je znázorněno.

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 vytvoří nové adresáře v záložním adresáři a zkopíruje všechny nové soubory ze zdroje, stejně jako zvýrazněné na následujícím snímku obrazovky.

Zpětná synchronizace změn ze záložního do zdrojového adresáře

Za předpokladu, že jste provedli změny v záložním adresáři souborů, které již existují ve zdrojovém adresáři, můžete provést změny ve zdrojovém adresáři pomocí funkce zpětné synchronizace, povolené pomocí volby --renUp.

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

Všimněte si, že všechny nové soubory nebo adresáře vytvořené v záložním adresáři, které neexistují ve zdrojovém adresáři, budou také odstraněny, jak je uvedeno na následujícím snímku obrazovky.

zaloha můžete říct, aby sledovala symbolické odkazy ve zdrojovém adresáři pomocí možnosti --followSLinksS a v záložním adresáři pomocí možnosti --followSLinksB .

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

Chcete-li zobrazit dokumentaci Zaloha, spusťte následující příkaz.

zaloha.sh --help

To je prozatím vše! Zalohah.sh je malý a jednoduchý zálohovací skript založený na Bash pro synchronizaci dvou lokálních adresářů v Linuxu. Vyzkoušejte to a podělte se s námi o své myšlenky prostřednictvím formuláře pro zpětnou vazbu níže.