Búsqueda de sitios web

Zaloha.sh: un script de sincronización de directorios local simple para Linux


Zaloha.sh es un script de shell pequeño y simple que se utiliza para sincronizar dos directorios locales: un directorio de origen y un directorio de respaldo. Emplea herramientas estándar de Linux/Unix como find, sort, awk, mkdir, rmdir, cp y rm para respaldar su funcionalidad subyacente.

Zaloha obtiene información sobre los directorios y archivos mediante el 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 ejecutarlas.

En este artículo, aprenderá cómo instalar y utilizar zaloha.sh para sincronizar dos directorios locales en Linux.

Instalación de Zaloha.sh en Linux

Para instalar Zaloha.sh, necesitas clonar su repositorio Github usando la herramienta de línea de comandos git, pero antes de eso, necesitas 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, vaya al repositorio local y luego instale el script zaloha.sh en una ubicación de su RUTA, por ejemplo /usr/bin y hazlo 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=Sí, otro=no hacer nada y abortar]: ”. Responda 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 el comando funcione; de lo contrario, recibirá 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"

Cambios de copia de seguridad desde el origen al directorio de copia de seguridad

Ahora realice 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á los archivos nuevos de la fuente, como se resalta 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 en 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 cualquier archivo o directorio nuevo creado en el directorio de copia de seguridad que no exista en el directorio de origen también se eliminará como se indica en la siguiente captura de pantalla.

Puede decirle a zaloha que siga enlaces simbólicos en el directorio de origen 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 sencillo script de copia de seguridad basado en Bash para sincronizar dos directorios locales en Linux. Pruébelo y comparta sus opiniones con nosotros a través del formulario de comentarios a continuación.