Mostrando postagens com marcador backup. Mostrar todas as postagens
Mostrando postagens com marcador backup. Mostrar todas as postagens

Opções desconhecidas do rsync

Sincronizar mediante uma condição

Sincronizar apenas arquivos modificados em um determinado período
rsync -avz -e ssh --files-from=<(find -mtime +30 -mtime -60) origem destino

Outras opções bastante interessantes:
--update .... o que for atualizado na origem será também no destino
--delete .... o que for deletado na origem também o será no destino

À partir da versão 3.0.0 do rsync há um recurso muito útil para sysadmins,
a capacidade de fazer a codificação de caracteres, ou seja, se no windows tenho
iso8859-1 e no ubuntu utf8 posso usar um parâmetro como abaixo:

rsync --iconv=iso88591,utf8 /origem /destino

Obs: observe a codificação do sistema de origem, inclusive procure saber
se o ubuntu não estão montando a partição de backup /mnt/algumacoisa
já em utf8, caso isso esteja ocorrendo você não precisa se preocupar com isso.


Você pode acessar uma máquina windows montando já em utf8

mount -t ntfs /dev/hda1 /mnt/hda1 -o nls=utf8

Alguns sistemas já usam
"iocharset" ao invés de nls (busque na documentação da sua versão)

backup fácil

Gostaria de não mais trabalhar com windows, mas sabe como é o processo de migração, algo que tem que ser gradual, principalmente em um local onde não havia nenhum usuário trabalhando com linux, primeiro arrumamos a casa. A solução de backup, a meu ver será em breve, para todos os casos o rsync, já que ele terá --iconv=codificaçãideorigem,codificaçãodedestino ou algo similar, enquanto isso não acontece descobri para windows o xcopy

Backup de estações windows

Primeiro mapeei uma unidade de rede 'z' para os arquivos que queria fazer o backup
em seguida usei o xcopy com estes parâmetros:
 xcopy z:\*.*  c:\backup /E /C /G /H /Y /Z

/E ............ copia pastas e subpastas inclusive vazias
/C ............ continua copiando mesmo que ocorram erros
/G ............ permite copia de arquivos criptografados mesmo sem suporte
/H ............ copia arquivos ocultos e de sistema
/Y ............ suprime o prompt de confirmação
/M ............ desativa o atributo de arquivamento
/Z ............ se a conexão cair ele reinicia o backup
/K ............ preserva atributos (oculto, somente leitura etc)
Outra função muito útil do XCOPY é que ele pode copiar pastas vazias (copia o nome), arquivos ocultos e de sistema e para back-up de arquivos tipo word e excel, por exemplo, ele tem opção para desativar o BIT de arquivamento. Sendo assim um back-up de pastas do servidor copiará todos os arquivos na primeira vez que for executado e somente os novos e alterados na próxima vez que for executado.

A opção /M indica que é para "DESLIGAR" o atributo de arquivamento, ou seja, na segunda vez
que o .BAT for executado só serão copiados os arquivos NOVOS e os MODIFICADOS.
Portanto se a origem contém muitos arquivos ou arquivos muito grandes será de grande proveito.

Script de backup

@echo off
CLS
ECHO ********************************************************************
ECHO * BACKUP DO SERVIDOR DE DADOS
ECHO ********************************************************************
ECHO.
ECHO Efetuando copia dos arquivos....
ECHO aguarde e va tomar um cafezinho!
ECHO.
xcopy z:\*.* c:\backup /E/C/D/G/H/Y/Z/M/K
ECHO.
ECHO Backup efetuado com sucesso!
ECHO.
ECHO ********************************************************************
ECHO.
ECHO Pressione qualquer tecla para continuar...
PAUSE>NUL

Para gerar um manual completo do xcopy faça:
 xcopy /? > xcopy.txt

Backup no linux

Esse é moleza
rsync -avz root@origem:/pasta /destino
O xcopy tem uma opção de data /D mas nada como...

Sincronizar mediante uma condição

Sincronizar apenas arquivos modificados em um determinado período
rsync -avz -e ssh --files-from=<(find -mtime +30 -mtime -60) origem destino

usando o rsync 3.0.0 para fazer backup entre linux e xp

À partir da versão 3.0.0 do rsync há um recurso muito útil para sysadmins,
a capacidade de fazer a codificação de caracteres, ou seja, se no windows tenho
iso8859-1 e no ubuntu utf8 posso usar um parâmetro como abaixo:

rsync --iconv=utf8,iso88591 /origem /destino

Obs: observe a codificação do sistema de origem, inclusive procure saber
se o ubuntu não estão montando a partição de backup /mnt/algumacoisa
já em utf8, caso isso esteja ocorrendo você não precisa se preocupar com isso.

Neste site: http://mattmccutchen.net/rsync/packages.html
você encontra a versão 3.0.0 do rsync, só que o pacote deb não existe lá,
nada que um...

aptitude install alien

...não resilva

depois faça

alien rsync-3.0.0-1.matt.i386.rpm

em seguida:

dpkg -i rsync-3.0.0-1.matt.i386.deb

agora seu backup será gerado com conversão de caracteres,
evitando aqueles caracteres estranhos ao recuperar

rsync -avz --iconv=iso88591,utf8 /mnt/hda1 root@IP:/backup

Ou seja no dia que necessitar restaurar os caracteres ficarão certinhos,
nada de interrogações ou outros caracteres esquisitos!

Fazendo um backup com rsync

Gerando a chave do ssh


ssh-keygen -t dsa -f ~/.ssh/id_dsa

Exportando a chave do ssh
Caso contrário seu script não pode funcionar sem a sua presença :)
aliás este é um dos únicos pontos em que minha dica difere da dica do
br-linux, apenas pelo modo mais simples de exportar a chave pública.

ssh-copy-id -i ~/.ssh/id_dsa.pub usuario@maquina_remota

Obs: Às vezes a sua chave pode ser id_rsa.pub (confira)


Coloque o rsync em modo daemon no servidor de backup

# rsync --daemon

Script que peguei nos artigos do Br-linux

#!/bin/bash
# Fonte: http://br-linux.org/tutoriais/002249.html
# backup.sh
#Script para fazer copia de arquivos do servidor para a maquina de backup
#
# Criado por Paulino Michelazzo - paulino@michelazzo.com.br
# Versao 1.0 - marco/04
#
#

SYNC_LOG=/var/log/rsync.log # local onde o arquivo de log sera armazenado
# Delimitador de entrada de log
echo "******************************" >> $SYNC_LOG
date >> $SYNC_LOG
echo "Inicio da sincronizacao" >> $SYNC_LOG
rsync -avz -e ssh root@maquina_remota:/origem_dos_dados/ /destino_dos_dados/ >> $SYNC_LOG

echo "Fim da sincronizacao" >> $SYNC_LOG
echo "******************************" >> $SYNC_LOG

Agendando o backup com o cron

agendar para que este script seja executado todas as madrugadas as 2 da manhã, colocando a seguinte linha dentro do arquivo /etc/crontab

0 2 * * * root /etc/backup.sh

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo