Možná se ptáte sami sebe, proč potřebuji řešení pro obousměrnou/obousměrnou synchronizaci souborů? Terminálový charakter osync z něj dělá ideální řešení synchronizace souborů, které lze spustit ve třech režimech:
- ručně
- prostřednictvím naplánovaných úloh
- prostřednictvím démona (spouští se, když dojde k novým změnám v souboru)
Tento stavový synchronizátor funguje jako rsync obal. Osynchronizace je přiřazen jako stavový, protože není povinen monitorovat změny v cílových souborech. Díky tomuto atributu je také bez agenta.
Mezi dvěma běhy osync porovná seznamy souborů replik. Tyto běhy mohou být místní-místní nebo místní-vzdálené. Spuštění replikace z místního na místní trvá přibližně 2 sekundy, zatímco spuštění replikace z místní na vzdálenou přibližně 7 sekund.
Funkce Osync
Hlavní přednosti funkce Osync:
- Podpora synchronizace Local-to-Local a Local-to-Remote.
- Úplná kontrola času skriptu.
- E-mailová upozornění
- Spuštění jako démon nebo podle plánu
- Monitorování adresářů
- Zařízení pro protokolování
- Zvládá více úloh synchronizace prostřednictvím dávkového programu a neúspěšné úlohy synchronizace prostřednictvím možnosti opětovného spuštění
- Obnovte scénáře, abyste zvládli odolnost proti chybám
- Rozšířené atributy a synchronizace POSIX ACL
- Spuštění příkazu před/po spuštění
- Zpracování vícenásobných záloh a měkkých mazání
Pokud potřebujete rychlé spuštění, možná budete chtít zakázat některé funkce osynchronizace, jako je kontrola místa na disku a zachování atributů. Schéma synchronizace cíle/iniciátoru je také použitelné v rámci osync.
Předem existující replika cíle/iniciátoru je chráněna před několika souběžnými synchronizačními procesy prostřednictvím pidlocků. Primární design Osync mu brání ve smazání uživatelských/systémových dat. Měkká odstranění nebo konfliktní soubory jsou zachovány prostřednictvím vytvořených záloh.
Nainstalujte Osync v Linuxu
Stabilní nebo nejnovější verze osync najdete na Github. Nejprve musíte mít nainstalovaný git, než budete moci načíst a nainstalovat nástroj pro synchronizaci souborů osync z Github.
Použijte jednu z následujících instalačních příruček podle vaší distribuce operačního systému Linux.
Nainstalujte Osync do distorů založených na RHEL
$ sudo yum install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Nainstalujte Osync do Distors založených na Debianu
$ sudo apt install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Nainstalujte Osync v Arch Linuxu
$ sudo pacman -S git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Nainstalujte Osync v OpenSUSE Linux
$ sudo zypper install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Při klonování osync z Githubu odstraňte -b "stable"
volba z příkazu git clone načte nejnovější vývojový snímek osync.
Jak používat Osync v Linuxu pro obousměrnou synchronizaci souborů
Jak již bylo zmíněno, existují tři přístupy k použití osync.
- Režim rychlé synchronizace
- Režim konfiguračního souboru
- Démonský režim
Místně-místní a místní-vzdálená synchronizace souborů pomocí režimu rychlé synchronizace
Tento přístup je však vhodný pro uživatele, kteří chtějí dosáhnout rychlé synchronizace mezi adresáři. Pro local-to-local adresářů, zvažte následující syntaxi osynchronizace:
$ osync.sh --initiator="/path/to/directory1" --target="/path/to/directory2"
Příklad implementace je následující:
$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup"
Pro místní až vzdálené adresářů, možná budete muset nejprve nakonfigurovat váš počítač pro přístup bez hesla SSH.
$ sudo ssh-keygen -t rsa $ sudo ssh-copy-id [email protected] $ sudo ssh [email protected]
Syntaxe rychlé synchronizace z místa na vzdálenou je následující:
$ osync.sh --initiator="/path/to/another/directory" --target="ssh://user@host/IP:22//path/to/directory2"
Příklad implementace by vypadal takto:
$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"
A nakonec…
Nedělejte si starosti s osynchronizací ukončenou s varováními , Jde jen o to, že jsem na svém serveru zakázal ping. Váš příkaz osync však může obsahovat následující možnosti příkazu, které vám pomohou diagnostikovat kritické chyby.
--summary --errors-only --no-prefix
Například:
$ osync.sh --initiator="/path/to/another/directory"--target="ssh://user@host/IP:22//path/to/directory2" --summary --errors-only --no-prefix
Konfigurace úlohy Cron pro automatizaci synchronizace souborů
Mohli bychom automatizovat Rychlou synchronizaci úlohy režimu prostřednictvím úloh cronu.
$ sudo su $ crontab -e
Přidáním následujících dvou úloh cron pro adresáře local-to-local a local-to-remote zautomatizujete naše úlohy osynchronizace.
*/5 * * * * osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup" */5 * * * * osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"
Osynchronizace je ideálním řešením obousměrné synchronizace pro adresáře local-to-local a local-to-remote. Synchronizace adresářů, které vytvoříte, jsou dokonalým plánem zálohování důležitých dat v případě náhodného smazání nebo důkazů o poškozených souborech.