Script BASH Backup CentOS

1

Eu apenas escrevi este script para fazer o backup de tudo em um arquivo tar.gz. Parece bem? Como posso obter o arquivo tar para se transferir para outro servidor após a execução? FTP de si mesmo? Vou colocar esse script em um cron semanal.

#!/bin/bash

rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS

# run tar -zxvf to extract backup.tar.gz
    
por user1062058 26.11.2011 / 01:26

3 respostas

2

FTP é o diabo. SCP com keypairs RSA é uma boa maneira de mover os arquivos com segurança de servidor para servidor. Quanto ao script, parece bem.

    
por 26.11.2011 / 01:32
6

Se você não tem muitos arquivos que estão mudando, você pode usar o rsync em vez de criar uma grande tarball. O Rsync só envia mudanças, por isso é muito mais eficiente em termos de rede do que o que você está propondo. Talvez comece por olhar para algo como isto:

link

    
por 26.11.2011 / 02:42
2

Dependendo do tamanho do servidor, você está criando uma enorme quantidade de duplicatas. Se eu fosse você, só faria o backup dos arquivos que foram modificados. Você também deve marcar o arquivo de data e hora no arquivo.

Veja o que eu faria.

  • Faça o total de volta 1x por mês ou por semana
  • Backups incrementais para todos os outros dias
  • datetime-stamp o arquivo para recuperação mais fácil

Uma maneira fácil de verificar a data de modificação do arquivo seria:

date -r $file +%F

Então, basicamente, você pode incluir isso em uma função e, se a função não corresponder à data do último backup, inclua-a no archive / backup. Caso contrário, siga em frente.

HTH

    
por 26.11.2011 / 02:34