Potresti chiederti, perché ho bisogno di una soluzione di sincronizzazione file bidirezionale/bidirezionale? La natura basata su terminale di osync lo rende una soluzione ideale per la sincronizzazione dei file che può essere eseguita in tre modalità:
- manualmente
- tramite attività pianificate
- tramite un demone (attivato quando si verificano nuove modifiche ai file)
Questo sincronizzatore con stato funge da rsync involucro. Osync viene attribuito come stateful perché non è obbligato a monitorare i file di destinazione per le modifiche. Questo attributo lo rende anche senza agente.
Tra due esecuzioni, osync confronterà gli elenchi di file di replica. Queste esecuzioni possono essere da locale a locale o da locale a remoto. L'esecuzione della replica da locale a locale richiede circa 2 secondi, mentre l'esecuzione di replica da locale a remoto richiede circa 7 secondi.
Funzionalità di sincronizzazione
Punti salienti della caratteristica Osync di spicco:
- Supporto per la sincronizzazione da locale a locale e da locale a remoto.
- Controllo del tempo di script completo.
- Avvisi via email
- Eseguire come demone o nei tempi previsti
- Monitoraggio directory
- Struttura di registrazione
- Gestisce più attività di sincronizzazione tramite batch runner e attività di sincronizzazione non riuscite tramite un'opzione di ripetizione
- Riprendi gli scenari per gestire la tolleranza agli errori
- Attributi estesi e sincronizzazione ACL POSIX
- Esecuzione dei comandi per le esecuzioni prima/dopo
- Gestione di backup multipli ed eliminazioni software
Se hai bisogno di un'esecuzione rapida, potresti voler disabilitare alcune delle funzionalità osync come i controlli dello spazio su disco e la conservazione degli attributi. Uno schema di sincronizzazione target/iniziatore è applicabile anche in osync.
Una replica target/iniziatore preesistente è protetta da più processi di sincronizzazione simultanei tramite pidlock. Il design principale di Osync impedisce l'eliminazione dei dati utente/di sistema. Le eliminazioni graduali o i file in conflitto vengono preservati tramite i backup creati.
Installa Osync in Linux
Una versione stabile o più recente di osync può essere trovato su Github. Devi prima aver installato git prima di poter recuperare e installare lo strumento di sincronizzazione dei file osync da Github.
Usa una delle seguenti guide di installazione in base alla distribuzione del tuo sistema operativo Linux.
Installa Osync in Distors basati su RHEL
$ sudo yum install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Installa Osync in Distors basati su Debian
$ sudo apt install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Installa Osync in Arch Linux
$ sudo pacman -S git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Installa Osync in OpenSUSE Linux
$ sudo zypper install git $ sudo git clone -b "stable" https://github.com/deajan/osync $ cd osync $ sudo bash install.sh
Durante la clonazione di osync da Github, rimuovendo il -b "stable"
l'opzione del comando git clone recupererà l'ultimo snapshot di sviluppo di osync.
Come utilizzare Osync in Linux per la sincronizzazione dei file bidirezionale
Come già accennato, ci sono tre approcci per usare osync.
- Modalità di sincronizzazione rapida
- Modalità file di configurazione
- Modalità Demone
Sincronizzazione file locale-locale e locale-remota utilizzando la modalità di sincronizzazione rapida
Questo approccio è tuttavia conveniente per gli utenti che cercano di ottenere sincronizzazioni veloci tra le directory. Per da locale a locale directory, considera la seguente sintassi osync:
$ osync.sh --initiator="/path/to/directory1" --target="/path/to/directory2"
Come esempio l'implementazione è la seguente:
$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup"
Per da locale a remoto directory, potrebbe essere necessario prima configurare la macchina per l'accesso senza password SSH.
$ sudo ssh-keygen -t rsa $ sudo ssh-copy-id [email protected] $ sudo ssh [email protected]
La sintassi di Sincronizzazione rapida da locale a remoto è la seguente:
$ osync.sh --initiator="/path/to/another/directory" --target="ssh://user@host/IP:22//path/to/directory2"
Un esempio di implementazione sarebbe simile al seguente:
$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"
E infine...
Non preoccuparti per osync terminato con avvisi , È solo che ho disabilitato il ping sul mio server. Tuttavia, il tuo comando osync può includere le seguenti opzioni di comando per aiutarti a diagnosticare errori critici.
--summary --errors-only --no-prefix
Ad esempio:
$ osync.sh --initiator="/path/to/another/directory"--target="ssh://user@host/IP:22//path/to/directory2" --summary --errors-only --no-prefix
Configurazione di un processo Cron per automatizzare la sincronizzazione dei file
Potremmo automatizzare la Sincronizzazione rapida attività in modalità tramite cron job.
$ sudo su $ crontab -e
L'aggiunta dei seguenti due processi cron per le directory da locale a locale e da locale a remoto automatizzerà le nostre attività di osync.
*/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"
Osync è una soluzione di sincronizzazione bidirezionale ideale per directory da locale a locale e da locale a remoto. Le sincronizzazioni delle directory che crei sono un piano di backup perfetto per i dati critici in caso di eliminazione accidentale o evidenza di file corrotti.