GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo sincronizar archivos de dos vías usando Osync Script en Linux

Quizás se pregunte, ¿por qué necesito una solución de sincronización de archivos bidireccional/bidireccional? La naturaleza basada en terminales de osync lo convierte en una solución de sincronización de archivos ideal que se puede ejecutar en tres modos:

  1. manualmente
  2. a través de tareas programadas
  3. a través de un demonio (se activa cuando se producen nuevos cambios en el archivo)

Este sincronizador con estado actúa como un rsync envoltura. Osync se atribuye como con estado porque no está obligado a supervisar los archivos de destino en busca de cambios. Este atributo también lo hace sin agentes.

Entre dos ejecuciones, osync comparará las listas de archivos de réplica. Estas ejecuciones pueden ser de local a local o de local a remoto. La ejecución de la replicación local a local tarda aproximadamente 2 segundos, mientras que la ejecución de la replicación local a remota tarda aproximadamente 7 segundos.

Características de Osync

Características destacadas de Osync:

  • Soporte de sincronización local a local y local a remoto.
  • Control total del tiempo del guión.
  • Alertas por correo electrónico
  • Ejecutar como un demonio o según lo programado
  • Supervisión de directorios
  • Facilidad de registro
  • Maneja múltiples tareas de sincronización a través del ejecutor por lotes y tareas de sincronización fallidas a través de una opción de repetición
  • Reanudar escenarios para manejar la tolerancia a fallas
  • Atributos extendidos y sincronización POSIX ACL
  • Ejecución de comandos para ejecuciones antes/después
  • Manejo de múltiples copias de seguridad y eliminaciones temporales

Si necesita una ejecución rápida, es posible que desee deshabilitar algunas de las funciones de osync, como las comprobaciones de espacio en disco y la conservación de atributos. Un esquema de sincronización de destino/iniciador también es aplicable bajo osync.

Una réplica de destino/iniciador preexistente está protegida de múltiples procesos de sincronización simultáneos a través de pidlocks. El diseño principal de Osync evita que elimine los datos del sistema/usuario. Las eliminaciones parciales o los archivos conflictivos se conservan a través de las copias de seguridad creadas.

Instalar Osync en Linux

Una versión estable o más reciente de osync se puede encontrar en Github. Primero debe tener instalado git antes de poder recuperar e instalar la herramienta de sincronización de archivos osync desde Github.

Utilice una de las siguientes guías de instalación según la distribución de su sistema operativo Linux.

Instalar Osync en Distors basados ​​en RHEL

$ sudo yum install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Instalar Osync en Distors basados ​​en Debian

$ sudo apt install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Instalar Osync en Arch Linux

$ sudo pacman -S git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Instalar Osync en OpenSUSE Linux

$ sudo zypper install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Al clonar osync de Github, eliminando -b "stable" La opción del comando git clon recuperará la última instantánea de desarrollo de osync.

Cómo utilizar Osync en Linux para la sincronización bidireccional de archivos

Como ya se mencionó, hay tres enfoques para usar osync.

  1. Modo de sincronización rápida
  2. Modo de archivo de configuración
  3. Modo demonio

Sincronización de archivos local-local y local-remota mediante el modo de sincronización rápida

Sin embargo, este enfoque es conveniente para los usuarios que buscan lograr sincronizaciones rápidas entre directorios. Para local a local directorios, considere la siguiente sintaxis de osync:

$ osync.sh --initiator="/path/to/directory1" --target="/path/to/directory2"

Como ejemplo, la implementación es la siguiente:

$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup"

Para local a remoto directorios, es posible que primero deba configurar su máquina para el acceso sin contraseña SSH.

$ sudo ssh-keygen -t rsa 
$ sudo ssh-copy-id [email protected]
$ sudo ssh [email protected]

La sintaxis de Quick Sync de local a remoto es la siguiente:

$ osync.sh --initiator="/path/to/another/directory" --target="ssh://user@host/IP:22//path/to/directory2" 

Una implementación de ejemplo sería similar a la siguiente:

$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"

Y finalmente…

No te preocupes por osync terminado con advertencias , Es solo que deshabilité el ping en mi servidor. Sin embargo, su comando osync puede incluir las siguientes opciones de comando para ayudarlo a diagnosticar errores críticos.

--summary --errors-only --no-prefix

Por ejemplo:

$ osync.sh --initiator="/path/to/another/directory"--target="ssh://user@host/IP:22//path/to/directory2" --summary --errors-only --no-prefix 

Configuración de un trabajo cron para automatizar la sincronización de archivos

Podríamos automatizar la sincronización rápida tareas de modo a través de trabajos cron.

$ sudo su
$ crontab -e

Agregar los siguientes dos trabajos cron para directorios de local a local y de local a remoto automatizará nuestras tareas de 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 es una solución de sincronización bidireccional ideal para directorios de local a local y de local a remoto. Las sincronizaciones de directorio que crea son un plan de respaldo perfecto para datos críticos en caso de eliminación accidental o evidencia de archivos corruptos.


Linux
  1. Cómo cambiar el nombre de varios archivos juntos en Linux usando 3 métodos

  2. Cómo ordenar archivos en Linux usando el comando Ordenar

  3. Cómo crear archivos dispersos en Linux usando el comando 'dd'

  4. Cómo buscar archivos usando expresiones regulares en el script de shell de Linux

  5. ¿Cómo salir de la terminal de Linux usando el script de Python?

Cómo compartir archivos localmente en Linux usando NitroShare

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Cómo copiar archivos en Linux usando el comando CP

Cómo eliminar archivos y directorios usando la línea de comandos de Linux