GNU/Linux >> Linux Esercitazione >  >> Linux

Come sincronizzare i file in due modi utilizzando Osync Script in Linux

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

  1. manualmente
  2. tramite attività pianificate
  3. 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.

  1. Modalità di sincronizzazione rapida
  2. Modalità file di configurazione
  3. 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.


Linux
  1. Come utilizzare Rsync per sincronizzare file nuovi o modificati/modificati in Linux

  2. Come caricare o scaricare file/directory utilizzando sFTP in Linux

  3. Come eseguire il confronto riga per riga dei file in Linux usando il comando diff

  4. Come gestire i file di registro utilizzando Logrotate in Linux

  5. Come scrivere file di registro nella RAM usando Log2ram in Linux

Come condividere file localmente su Linux utilizzando NitroShare

Come trovare i file usando la riga di comando nel terminale Linux

Come rinominare i file usando la riga di comando in Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Come copiare file in Linux usando il comando CP

Come eliminare file e directory utilizzando la riga di comando di Linux