DevSecOps

19 abr, 2013

Sincronizando dados com rsync – Parte 02

Publicidade

Dando continuidade ao artigo anterior, iremos apresentar outras implementações do comando rsync que podem ser utilizadas na sua solução de backup ou no seu dia a dia. Então, vamos ao que interessa!

rsync-command-400x250

Sobre o tempo…

Se você utiliza o rsync para criar becapes, é interessante manter os atributos dos arquivos originais. Os atributos incluem tanto as permissões de leitura, gravação e execução, quanto os tempos de acesso, ou seja:

  • atime – Informações sobre a hora do último acesso;
  • ctime – Hora da última mudança de status;
  • mtime – Hora da última modificação.

Preservando dados

Em uma implementação de becape é interessante preservar parâmetros tais como, dono e grupo. Para manter as permissões, utilize as opções abaixo:

  • -p : Atualiza as permissões no host remoto para que as mesmas sejam as mesmas permissões locais;
  • -t: lida com as informações de tempo;
  • -g: Mantém informações de grupo.

Alguns parâmetros só podem ser utilizados pelo superusuário:

  • -o: Manter os dados do dono;
  • -D: atributos de dispositivo.

A linha de comando completa, utilizando todos os parâmetros, está descrita abaixo:

# rsync -rlptgoD /home/ludolfs/*  /backup/*

Porém…

Existe um atalho: o rsync possui uma opção especial que combina todas os parâmetros descritos acima (rlptgoD), a opção -a (–archive ).

Exclusões

O rsync possui uma opção que permite ao usuário excluir certos arquivos de uma solução de becape. Utilizando a opção –exclude,  define um padrão; usando comumente caracteres curingas do shell, exclui determinados arquivos que serão transferidos, exemplo:

# rsync -a –exclude=*.exe /backup

Exclui todos os arquivos terminados em .exe

Agora…

Se você tem uma “relação” de arquivos a serem excluídos na sua solução de becape, utilize a opção –exclude-from:

# rsync -a –exclude-from=ext.txt

Obs: ext.txt é um exemplo que contém uma relação de arquivos a serem excluídos.

Se você utiliza o comando rsync e gostaria de compartilhar sua implementação, fique a vontade e envie no ludolf@sejalivre.org .