Zaloha.sh: un sencillo script sincronizador de directorios locales para Linux


Zaloha.sh es un script de shell pequeño y simple que se utiliza para mkdir, rmdir, cp y rm para respaldar su funcionalidad subyacente.

Zaloha obtiene información sobre los directorios y archivos a través del comando de búsqueda. Ambos directorios deben estar disponibles localmente, es decir, montados en el sistema de archivos local. También cuenta con sincronización inversa y, opcionalmente, puede comparar archivos byte por byte. Además, pide a los usuarios que confirmen las acciones antes de que se ejecuten.

En este artículo, aprenderá a instalar y usar zaloha.sh para sincronizar dos directorios locales en Linux.

Instalación de Zaloha.sh en Linux

Para instalar Zaloha.sh, debe clonar su repositorio Github usando la herramienta de línea de comandos git, pero antes de eso, debe instalar git como se muestra.

# dnf  install git		# CentOS/RHEL 8/Fedora 22+
# yum install git		# CentOS/RHEL 7/Fedora
$ sudo apt install git		# Ubuntu/Debian

Una vez que git esté instalado, ejecute el siguiente comando para clonar el repositorio remoto en su sistema, muévase al repositorio local, luego instale el script zaloha.sh en una ubicación en su RUTA, por ejemplo,/usr/bin y hágalo ejecutable como se muestra.

$ 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

Sincronice dos directorios locales en Linux usando Zaloha.sh

Ahora que zaloha.sh está instalado en su RUTA, puede ejecutarlo normalmente como cualquier otro comando. Puede sincronizar dos directorios locales como se muestra.

$ sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

Después de ejecutarlo, zaloha analizará los dos directorios y preparará los comandos necesarios para sincronizar los dos directorios.

Se le pedirá que confirme las acciones que se ejecutarán: “¿Ejecutar las copias mencionadas anteriormente en/var/www/html/admin_portal /? [Y/y u003d Sí, otro u003d no hacer nada y abortar]: ”. Responda sí para continuar.

Copia de seguridad en medios USB externos/extraíbles

También puede realizar una copia de seguridad en un medio extraíble (por ejemplo,/media/aaronk/EXT) montado en el sistema de archivos local. El directorio de destino debe existir para que funcione el comando; de lo contrario, aparecerá el mensaje de error "Zaloha.sh: no es un directorio".

$ sudo mkdir /media/aaronk/EXT/admin_portal
$ sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Copia de seguridad de cambios desde el origen al directorio de copia de seguridad

Ahora haga más cambios en el directorio de origen, luego ejecute zaloha.sh una vez más para hacer una copia de seguridad de los cambios en el disco externo como se muestra.

$ 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 creará los nuevos directorios en el directorio de respaldo y copiará cualquier archivo nuevo de la fuente, así como resaltado en la siguiente captura de pantalla.

Sincronización inversa de cambios desde la copia de seguridad al directorio de origen

Suponiendo que ha realizado cambios en el directorio de copia de seguridad de los archivos que ya existen en el directorio de origen, puede hacer que los cambios se reflejen en el directorio de origen utilizando la función de sincronización inversa, habilitada mediante la opción --renUp .

$ zaloha.sh --revUp --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Tenga en cuenta que todos los archivos o directorios nuevos creados en el directorio de respaldo que no existan en el directorio de origen también se eliminarán como se indica en la siguiente captura de pantalla.

Puede decirle a zaloha que siga enlaces simbólicos en el directorio fuente usando la opción --followSLinksS y en el directorio de respaldo usando la opción --followSLinksB .

$ sudo zaloha.sh --followSLinksS  --followSLinksB --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

Para ver la documentación de Zaloha, ejecute el siguiente comando.

$ zaloha.sh --help

¡Eso es todo por ahora! Zalohah.sh es un pequeño y simple script de respaldo basado en Bash para sincronizar dos directorios locales en Linux. Pruébelo y comparta sus pensamientos con nosotros a través del formulario de comentarios a continuación.