Backup com o Rsync

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre o comando RSYNC, este programa é comumente usado para comprimir arquivos no Linux,sendo também uma ótima alternativa para criação de Backups através de scripts.


Vídeo

https://youtu.be/zxL6e846WTE

Como usar o RSYNC ???

rsync [parâmetros] /origem /destino

   Parâmetros:
   
   -C, --cvs-exclude - ignora arquivos CVS;
   -r, --recursive - recursivo;
   -a, --archive - modo arquivo; igual -rlptgoD (no -H,-A,-X);
   -z, --compress - comprime durante transferência;
   -p, --perms - preserva as permissões;
   -b, --backup - faz backup (veja --suffix & --backup-dir);
       --backup-dir=DIR - faz backups dentro da hierarquia DIR;
       --suffix=SUFFIX - sufixo de backup (padrão ~ w/o --backup-dir);
   -u, --update - pula arquivos recentes;
   -d, --dirs - transfere diretórios sem seu conteúdo, não recursivo;
   -l, --links - cópia symlinks como symlinks;
   -L, --copy-links - transforma symlink em sua referência, arquivo ou diretório;
   -X, --xattrs - preserva os atributos estendidos;
       --exclude=PATTERN - exclui o arquivo que coincide com o PATTERN;
   -t, --times - preserva a data de modificação;
   -v, --verbose - modo verboso. 


  • Uma dica de uso é o Cravzpt, onde estão inclusas as funcionalidades mais usuais.

Exemplo:

   (LOCAL)
   rsync -Cravzpt /home/usuario/ /backup
   
   (REMOTA)
   rsync -Cravzpt /home/usuario usuario@ip_máquina:/backup/


Criação de um Backup usando o RSYNC

  • 1 - Criar um arquivo com o conteúdo abaixo usando o comando nano
   nano /bin/backup_rsync.sh 
   #############################################################################################
   # Linha inicial informando para qual shell o script esta sendo executado
   #!/bin/bash
   
   # Cria uma variável de nome DATA recebendo os valores do comando date seguido com 
   # os parâmetros de dia, mês,ano,hora,minutos
   INICIO=`date +%d-%m-%Y-%H:%M`
   
  # Cria uma variável de none LOG recebendo os valores do comando onde será armazenado os logs.
  LOG=/var/log/backup-`date +%d-%m-%y`-LOG_rsync.txt
  
  # Espaçadores de inicio
  echo " " >> $LOG
  echo " " >> $LOG
  echo "|-----------------------------------------------|" >>$LOG
  echo " Sincronização iniciada em $INICIO" >> $LOG
  
  #comando para executar o backup como root
  sudo rsync -Cravzp /home/* /backup/ >> $LOG
  
  # Variável de data e tempo final (LOGS)
  FINAL=`date +%d-%m-%Y-%H:%M`
  
  # Espaçadores de final
  echo " Sincronização Finalizada em $FINAL" >> $LOG
  echo "|------------------------------------------------|" >>$LOG
  echo " " >> $LOG
  echo " " >> $LOG
  #############################################################################################
  • 2 - Sair e salvar
   CTRL + X
  • 3 - Dar permissão de execução com o comando chmod
   chmod +x /bin/backup_rsync.sh
  • 4 - Agendar no Crontab