Archive for Março, 2009

Mar 10

Backups

A realização dos backups não deve nunca ser descurada num servidor. Neste caso deve haver backups das bases de dados e dos ficheiros.

Para fazer o backup das bases de dados foi instalado o script AutoMySqlBackup.

As instruções estão em: http://www.debianadmin.com/mysql-database-backup-using-automysqlbackup.html

O download pode ser feito em: http://sourceforge.net/projects/automysqlbackup/

A instalação é muito simples:

  1. Faz-se o download  do automysqlbackup.sh e coloca-se em  /etc/cron.daily
  2. Tem que se editar pelo menos as seguintes linhas:
    • USERNAME=dbuser (este utilizador tem que ter previlégios para fazer SELECT nas bases de dados)
    • PASSWORD=password DBNAMES=”DB1 DB2 DB3″ (tem que se manter as aspas ” ” caso contrário não funciona)
    • PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/mysql/bin:/opt/lampp/bin (esta última paste é muito importante pois indica onde está a instalação do mysql e do mysqldump; sem isto não funciona)
  3. Tornar o ficheiro executável:chmod u+rwx
  4. Criar o directório /backups
  5. E já está.

Para fazer o backup dos ficheiros, ou seja, das pastas importantes que são a htdocs e moodledata, criei um script com o seguinte conteúdo:

#!/bin/bash
DATA=`date +%Y-%m-%d`
cd /backups/htdocs
tar -zcvf htdocs-"$DATA".tar.gz /opt/lampp/htdocs/
cd /backups/moodledata
tar -zcvf moodledata-"$DATA".tar.gz /opt/lampp/moodledata/

Dei ao ficheiro com este conteúdo o nome backup_folder.sh e guardei-o no directório /etc/cron.weekly. Este ficheiro cria o pacote comprimido das pastas htdocs e moodledata e guara-os em /backups/htdocs e /backups/moodledata respectivamente. Para além disso o nome do backup tem a data em que este foi criado.

Para correr o script manualmente, escreve-se na linha de comandos

sh nome_do_script.sh