A abordagem simples
A abordagem normal do Unix para as coisas é dar a você ferramentas que fazem tarefas isoladas e maneiras de conectá-las você mesmo. Então, por exemplo,
-
cron
para agendar tarefas para serem executadas regularmente
- vários programas para criar arquivos,
zip
faz arquivos zip. Observe que você também pode querer usar svnadmin hotcopy
; verifique os documentos do Subversion para procedimentos de backup.
-
mysqldump
faz sql dumps de bancos de dados MySQL. Existem outras opções, como o Percona Xtrabackup . Você deve rever os documentos para essas ferramentas, bem como o MySQL; backup de banco de dados é (ou pelo menos pode ser) não-trivial.
- Os arquivos Tar são, obviamente, feitos com
tar
. Embora não seja claro para mim por que você quer tar-los.
-
cp
é usado para copiar arquivos. Existem várias outras ferramentas usadas em outras situações (por exemplo, scp
e rsync
).
Existem algumas ferramentas que são comumente usadas como cola para manter isso juntos. O mais comum é o shell script. Um script de shell é parecido com isto:
#!/bin/sh
zip -r destfile.zip a b c d
mysqldump --single-transaction > foo.sql
Note como são apenas comandos como se você os digitasse no shell. É claro, pode ser mais complicado também - você pode incluir variáveis, loops, condicionais, etc. (Você também pode usá-los no prompt de entrada do shell).
A Abordagem Complexa
Essa abordagem nem sempre está certa. Quando seus scripts de backup começam a ficar complicados o suficiente, você tem que se perguntar se eles estão realmente trabalhando, então você passa para um sistema de backup. Eles tratam de coisas como agendar backups, repeti-los se falharem, produzir relatórios, backups em várias máquinas, ....
Um casal que eu usei é:
-
Backup PC - Bom para instalações menores com backups somente de disco. Este é provavelmente o lugar onde você deve começar.
-
Bacula - Eu uso atualmente isso. Ele lida com backups em disco e em fita razoavelmente bem. Muito mais difícil de configurar do que o BackupPC.
-
AMANDA - Eu não usei isso por um tempo, mudei para o Bacula. Quando usei pela última vez, era principalmente para backups em fita.
Cada um deles tem sua própria documentação; Não vou tentar repeti-lo aqui (pelo menos para Bacula, suas centenas de páginas).
Uma nota final
Os backups devem ser testados e testados regularmente. Você não deve considerar algo com backup até que você tenha testado restaurá-lo. Por exemplo, quando você restaura, pode descobrir que não notou um erro durante o backup e, na verdade, não possui um backup de uma tabela crítica. Se você achar que, ao testar, tudo bem - você pode consertá-lo. Se você só descobrir depois de um desastre ...