Backup agendado automático do site (/ var / www e MySQL dump)

1

Eu tenho tentado configurar um backup agendado para o meu servidor, mas não consigo fazê-lo funcionar. Eu preciso copiar o conteúdo de / var / www para um arquivo compactado (tar?) Em uma pasta no meu diretório pessoal a cada 24 horas. Eu também quero executar um despejo de todos os bancos de dados mysql a cada 24 horas e armazená-lo em outra pasta no meu diretório inicial. Eu quero que os dois backups sejam nomeados com a data atual.

O servidor está executando o Ubuntu 12.04.1, eu só tenho acesso através do SSH, então não há interfaces gráficas.

Isso é possível? Eu estive olhando para o utilitário TAR e rsync, mas não sei como fazê-lo. Se alguém puder me ajudar se for muito apreciado.

    
por qwerty 02.09.2012 / 16:22

1 resposta

3

Escreva um script que o faça e defina cron para executá-lo diariamente, colocando-o em /etc/cron.daily . Leia digite a descrição do link aqui

Seu script precisará executar run rsync (ele tem uma opção --archive ) e usar a data para gerar o nome do arquivo. Para o banco de dados MySQL, você precisaria criar um dump antes. Você pode escrever a língua na língua que quiser. Em Perl seria algo como:

my ($day, $month, $year) = (localtime)[3,4,5];
my $time = sprintf ("%04d-%02d-%02d", $year+1900, $month+1, $day);    

my @backup_commands = (
  "/usr/bin/rsync --archive --copy-links /var/www /somewhre/$time",
  "/usr/bin/rsync --archive --copy-links /mysqldunmp /somewhere/$time",
);

foreach (@backup_commands) {
  system($_);
  if ($? == -1){
    ## add you favaorite method of reporting here
  }
}

Você precisará ajustar os nomes dos caminhos, configurar a parte de criação do dump do MySQL e onde os problemas devem ser registrados e assim por diante. Mas isso já te dá uma estrutura.

    
por 02.09.2012 / 16:49

Tags