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.