Pesquisa de site

Zaloha.sh - Um script simples de sincronização de diretório local para Linux


Zaloha.sh é um script de shell pequeno e simples usado para sincronizar dois diretórios locais: um diretório de origem e um diretório de backup. Ele emprega ferramentas padrão do Linux/Unix, como find, sort, awk, mkdir, rmdir, cp e rm para suportar sua funcionalidade subjacente.

Zaloha obtém informações sobre os diretórios e arquivos através do comando find. Ambos os diretórios devem estar disponíveis localmente, ou seja, montados no sistema de arquivos local. Ele também possui sincronização reversa e pode, opcionalmente, comparar arquivos byte por byte. Além disso, pede aos usuários que confirmem as ações antes de serem executadas.

Neste artigo, você aprenderá como instalar e usar zaloha.sh para sincronizar dois diretórios locais no Linux.

Instalando Zaloha.sh no Linux

Para instalar o Zaloha.sh, você precisa clonar seu repositório Github usando a ferramenta de linha de comando git, mas antes disso, você precisa instalar o git conforme mostrado.

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

Depois que o git estiver instalado, execute o seguinte comando para clonar o repositório remoto em seu sistema, vá para o repositório local e instale o script zaloha.sh em um local em seu PATH, por exemplo, /usr/bin e torne-o executável conforme mostrado.

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

Sincronize dois diretórios locais no Linux usando Zaloha.sh

Agora que o zaloha.sh está instalado no seu PATH, você pode executá-lo normalmente como qualquer outro comando. Você pode sincronizar dois diretórios locais conforme mostrado.

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

Após executá-lo, zaloha analisará os dois diretórios e preparará os comandos necessários para sincronizar os dois diretórios.

Você será solicitado a confirmar as ações a serem executadas: “Executar cópias listadas acima em /var/www/html/admin_portal/? [Y/y=Sim, other=não faça nada e aborte]: ”. Responda sim para prosseguir.

Backup para mídia USB externa/removível

Você também pode fazer backup em uma mídia removível (por exemplo, /media/aaronk/EXT) montada no sistema de arquivos local. O diretório de destino deve existir para que o comando funcione, caso contrário você receberá a mensagem de erro “Zaloha.sh: não é um diretório ”.

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

Alterações de backup da origem para o diretório de backup

Agora faça mais alterações no diretório de origem e execute zaloha.sh mais uma vez para fazer backup das alterações no disco externo conforme mostrado.

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 criará os novos diretórios no diretório de backup e copiará todos os novos arquivos da fonte, bem como destacados na captura de tela a seguir.

Sincronizar inversamente as alterações do backup para o diretório de origem

Supondo que você tenha feito alterações no diretório de backup em arquivos que já existem no diretório de origem, você pode fazer com que as alterações sejam refletidas no diretório de origem usando o recurso de sincronização reversa, ativado usando a opção --renUp.

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

Observe que quaisquer novos arquivos ou diretórios criados no diretório de backup que não existam no diretório de origem também serão excluídos conforme indicado na captura de tela a seguir.

Você pode dizer ao zaloha para seguir links simbólicos no diretório de origem usando a opção --followSLinksS e no diretório de backup usando a opção --followSLinksB .

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

Para visualizar a documentação do Zaloha, execute o seguinte comando.

zaloha.sh --help

É tudo por agora! Zalohah.sh é um script de backup pequeno e simples baseado em Bash para sincronizar dois diretórios locais no Linux. Experimente e compartilhe suas idéias conosco por meio do formulário de feedback abaixo.