Como configurar o backup de diretório?

1

Eu tenho o Ubuntu 12.10 instalado executando uma pilha LAMP para um site pequeno que eu hospedo. Eu preciso configurar um sistema para backups semanais do diretório / var / www onde estão todos os meus sites. Qual é a melhor maneira possível de fazer isso?

    
por Cora 13.02.2013 / 07:44

2 respostas

2

rsync pode fazer isso e também pode anexar automaticamente um registro de data e hora a seus arquivos de backup. Você também pode colocar um comando rsync diretamente no cron. Como exemplo de backup diário:

@daily rsync -ab --suffix=_'date +%F' -R {server}:/var/wwww /home/backups/

(isto assume que você já pode acessar esta máquina e que / home / backups / exists e você também precisa mudar {server} para o sistema onde os arquivos estão)

Os links postados nos comentários usa isso como um exemplo, mas tem um resultado final de método melhor: um script de backup que você usa do cron.

    
por Rinzwind 13.02.2013 / 10:11
1

O melhor meio é sempre uma questão de gosto. Eu prefiro usar rdiff ou rsync em ssh. Basta perguntar, se você precisar de mais ajuda em qualquer etapa. Esse método permite que você coloque a máquina de destino de backup na rede interna, para que qualquer pessoa que hackeie seu site não possa acessar seus backups.

  1. Configure a conta de backup no servidor www, crie as chaves ssh pública + privada sem uma senha para essa conta. Copie a chave pública para ~ backup / .ssh / id_rsa.pub, não deixe a chave privada nesse servidor.
  2. Adicione a conta de backup ao grupo www (ou qualquer que seja o grupo principal da conta que está executando o Apache.
  3. Modifique / etc / ssh / sshd_config para permitir logins da chave de criptografia.
  4. Na máquina de destino, configure a conta de backup e copie o id_rsa e, opcionalmente, id_rsa.pub para ~ backup / .ssh /
  5. Teste a conexão a partir da máquina de destino de backup e aceite a chave do host: su backup; ssh backup @ your-www-server.
  6. Crie o script de backup para executar via cron na máquina de destino, exemplo simplista abaixo.
  7. Aprimore o roteiro ao seu gosto (ou encontre um melhor, o único propósito deste é dar a idéia). Este irá preencher o seu disco alvo.
  8. Lembre-se também de fazer backup de seu banco de dados (talvez mysqldump?) e da configuração do servidor.
 
#!/bin/bash
DATE=$(date -I)
FROMDIR=backup@your-www-server/var/www/
TODIR=/var/backup/your-www-server/${DATE}/
LOGDIR=/var/backup/your-www-server/log/

mkdir -p ${TODIR} ${LOGDIR}
rsync -av ${FROMDIR} ${TODIR} >${LOGDIR}/${DATE}.log 2>${LOGDIR}/${DATE}.err
 
    
por Jouni Kivilahti 13.02.2013 / 10:25