Criar cópias de segurança do servidor com o rsync
Os backups devem desempenhar sempre um papel fundamental no seu planeamento relativo aos servidores. A ferramenta ou o protocolo de sincronização gratuito rsync permite-lhe configurar e realizar backups individuais de forma rápida.
Configurar cópias de segurança rsync em servidores Linux: veja como fazer
Para utilizar o rsync em sistemas operativos Linux, deve instalar o protocolo através do pacote com o mesmo nome e criar as suas cópias de segurança através de comandos no terminal. A seguir, explicamos os passos mais importantes para configurar um processo de cópia de segurança com o rsync, utilizando um exemplo no Ubuntu.
Normalmente, o rsync já vem instalado por predefinição no Ubuntu. Caso contrário, utilize este comando para o instalar:
sudo apt-get install rsyncbashDepois de instalar o rsync, utilize os comandos de terminal desejados para definir os diretórios de origem e de destino, bem como as opções de cópia de segurança. Como caminho de origem e de destino, deve especificar, respetivamente, o diretório de origem e o diretório onde o rsync irá armazenar a cópia de segurança. O modo padrão («Archive») é executado da seguinte forma:
rsync -a directorio_de_origen directorio_de_destinobashUtilize a execução de teste -n para verificar se os parâmetros e diretórios indicados estão corretos; na pior das hipóteses, indicações erradas podem provocar uma perda de dados. Por vezes, nem todos os ficheiros são copiados, o que se deve frequentemente à falta dos direitos de acesso necessários. Neste caso, tente executar o comando precedido do sudo como administrador.
Backup com rsync: cinco cenários de utilização
Se dominar os comandos básicos, o rsync revelar-se-á uma ferramenta muito eficaz para copiar ficheiros e criar cópias de segurança. Neste contexto, pode experimentar configurações individuais de comandos ou recorrer às combinações estabelecidas dos parâmetros rsync disponíveis. Nas secções seguintes, resumimos cinco cenários de utilização comuns para as cópias de segurança com o rsync.
Cópia de segurança padrão no modo de arquivo
Por predefinição, o modo de arquivo copia todos os ficheiros do diretório de origem para o diretório de destino, incluindo todas as subpastas. Todos os direitos, marcas de tempo e dados do dispositivo são mantidos. Esta é geralmente a solução mais simples e adequada, graças à combinação de várias opções num único parâmetro. Se, além disso, combinar este modo com o parâmetro -v, receberá também informações detalhadas sobre o estado durante o processo de cópia de segurança.
rsync -av directorio_de_origen directorio_de_destinobashComo caminho de origem e destino, deve especificar-se, respetivamente, o diretório de origem e o diretório onde o rsync irá armazenar a cópia de segurança.
Cópias idênticas do diretório de origem
O programa rsync não serve apenas para transferir ficheiros de A para B, mas também permite criar cópias idênticas de pastas e diretórios completos. Após a cópia padrão, são eliminados todos os ficheiros que se encontravam na pasta de destino antes da execução da cópia de segurança rsync, mas que não estão na pasta de origem.
rsync -av --delete directorio_de_origen directorio_de_destinobashBackup com o rsync sem ficheiros de um determinado formato
Se quiser fazer uma cópia de segurança com o rsync que exclua ficheiros com um determinado formato, pode fazê-lo com --exclude. Este parâmetro permite-lhe definir um padrão de caracteres específico, que o rsync utilizará como indicador para ignorar um ficheiro. O código de exemplo a seguir destina-se ao formato de ficheiro de texto .txt:
rsync -av --exclude'*.txt' directorio_de_origen directorio_de_destinobashCópia de segurança de ficheiros com tamanho máximo ou mínimo
Se não quiser utilizar um determinado padrão de caracteres, mas sim o tamanho do ficheiro, como critério para ignorar determinados ficheiros no processo de backup do rsync, deve utilizar os parâmetros --max-size ou --min-size. Com o comando seguinte, serão copiados apenas os ficheiros com um tamanho mínimo de 10 MB e um tamanho máximo de 100 MB:
rsync -av --min-size=10MB --max-size=100MB directorio_de_origen directorio_de_destinobashBackups rsync com conversão do formato de caracteres
É possível que, no diretório de destino, precises dos dados noutro formato de caracteres, por exemplo, se pretenderes enviar dados de um servidor Mac para um servidor Linux. O dispositivo da Apple utiliza por predefinição o UTF8-MAC, que não está disponível no sistema Linux e que causaria problemas com caracteres especiais e acentos. Através da opção --iconv, pode adaptar facilmente a codificação dos caracteres (no nosso exemplo, de UTF8-MAC para UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 directorio_de_origen directorio_de_destinobashVisão geral das opções mais importantes do rsync backup
Podes personalizar as configurações das tuas cópias de segurança rsync através de opções, que podes abreviar com uma letra ou escrever por extenso. A tabela que te apresentamos a seguir resume os parâmetros mais importantes, que podem ser combinados sempre que necessário:
| Opção | Função |
|---|---|
-r, --recursive
|
O backup rsync terá em conta todas as subpastas incluídas |
-u, --update
|
Instrução para não considerar os ficheiros que são mais recentes no diretório de destino do que no diretório de origem |
-c, --checksum
|
Distinção entre ficheiros de origem e de destino através de somas de verificação |
-l, --links
|
Os atalhos simbólicos são copiados como tal (e não como ficheiros) |
-p, --perms
|
As permissões dos ficheiros são mantidas |
-g, --group
|
As permissões de grupo dos ficheiros são mantidas |
-t, --times
|
As marcas temporais (última modificação) dos ficheiros são mantidas |
-o, --owner
|
O proprietário dos ficheiros é mantido (apenas se for administrador) |
-D, --devices
|
Os dados do dispositivo são mantidos |
-z, --compress
|
Compressão automática dos dados transmitidos |
--compress-level=NUM
|
Determinação do grau de compressão; é permitido um valor (“NUM”) entre 0 (sem compressão) e 9 (compressão máxima) |
-v, --verbose
|
Informações detalhadas durante o processo de cópia de segurança |
-q, --quiet
|
Todas as informações relativas ao processo de cópia de segurança são ocultadas (com exceção das mensagens de erro) |
-a, --archive
|
Modo de arquivo utilizado como padrão e que é idêntico à combinação de opções -rlptgoD
|
-n, --dry-run
|
Execução de teste em que não são feitas alterações reais |
-h, --help
|
Menu de ajuda (só pode ser utilizado sem indicação dos diretórios de origem e de destino ou de outros argumentos) |
--bwlimit=KBPS
|
Limitação da largura de banda (kilobytes por segundo), por exemplo, --bwlimit=30 (limite de 30 kbit/s)
|
--exclude=MUSTER
|
Exclusão de um padrão da sincronização, por exemplo, --exclude carpeta de ejemplo (a pasta “Pasta de exemplo” não será sincronizada.)
|
--delete
|
Eliminação de todos os ficheiros que se encontram no diretório de destino, mas que não estão no diretório de origem |
--progress
|
Indicação da duração do backup rsync e da velocidade de transmissão |
--list-only
|
Enumeração dos ficheiros em vez de efetuar uma cópia de segurança |
--stats
|
Relatório detalhado sobre os dados transferidos (quantidade, tamanho) |
--max-size=SIZE
|
Definição de um tamanho máximo de ficheiro, por exemplo, --max-size=10MB (só serão transferidos ficheiros com um tamanho até 10 MB.)
|
--ignore-errors
|
Evita a interrupção do processo de cópia de segurança em caso de erro |