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