Mudanças entre as edições de "Backup server"
De MochilaWiki
Ir para navegaçãoIr para pesquisar (Criou página com 'Implementei nos servidores um esquema de backup diário... ele o backup local de pasta indicadas e depois envia para um local remoto. O backup diário, local, é feito com o scr...') |
|||
(16 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | Implementei nos servidores um esquema de backup | + | Implementei nos servidores um esquema de backup: |
− | O backup diário, local, é feito com o script [ | + | O backup diário, local, é feito com o script [[backup.sh]] e é enviado para /srv/backup/storage e dentro de /srv/backup/db tem os backup do banco de dados feito com o [[Automysqlbackup]]. Os dois scripts são agendados para roda uma vez por dia, de madrugada, com diferença de uma hora um do outro. Depois disso roda o terceiro script, enviando /srv/backup/ (menos as pastas "tmp") para um servidor remoto. |
+ | |||
+ | == crie um par de chaves para ssh sem senha (não digite senha quando pedir) == | ||
+ | <source lang="bash"> | ||
+ | ssh-keygen -t dsa -f ~/.ssh/id_dsa | ||
+ | </source> | ||
+ | |||
+ | == envia a chave pro servidor, para autorização automática == | ||
+ | <source lang="bash"> | ||
+ | cat ~/.ssh/id_dsa.pub | ssh banto@192.168.56.101 'cat - >> ~/.ssh/authorized_keys' | ||
+ | </source> | ||
+ | |||
+ | == em /usr/local/bin/backup == | ||
+ | <source lang="bash"> | ||
+ | #!/bin/bash | ||
+ | # | ||
+ | MAIL="seu@email.com.br" | ||
+ | DATA=`date +%Y/%m/%d` | ||
+ | |||
+ | rsync -Hxpagouvt /srv/backup --rsh='ssh -p6969' --exclude 'tmp' banto@192.168.56.101:. | ||
+ | |||
+ | mutt -s "Backup $DATA" $MAIL < /usr/local/backup/bkp-ultimo | ||
+ | </source> | ||
+ | |||
+ | == em /etc/crontab == | ||
+ | <source lang="bash"> | ||
+ | 35 2 * * * root /usr/local/bin/automysqlbackup.sh >/dev/null 2>&1 | ||
+ | 35 3 * * * root /usr/local/backup/backup.sh >/dev/null 2>&1 | ||
+ | 35 4 * * * root /usr/local/bin/backup >/dev/null 2>&1 | ||
+ | </source> | ||
+ | |||
+ | == Referências == | ||
+ | * [http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folders dica de utilização do rsync] | ||
+ | * [http://www.devin.com.br/crontab/ dica de utilização do cron] | ||
+ | * [http://elcio.com.br/ssh-sftp-e-rsync-em-porta-diferente-do-padrao/ rsync + ssh != port 22] | ||
+ | |||
+ | [[Categoria:Backup]] |
Edição atual tal como às 05h33min de 10 de novembro de 2012
Implementei nos servidores um esquema de backup:
O backup diário, local, é feito com o script backup.sh e é enviado para /srv/backup/storage e dentro de /srv/backup/db tem os backup do banco de dados feito com o Automysqlbackup. Os dois scripts são agendados para roda uma vez por dia, de madrugada, com diferença de uma hora um do outro. Depois disso roda o terceiro script, enviando /srv/backup/ (menos as pastas "tmp") para um servidor remoto.
crie um par de chaves para ssh sem senha (não digite senha quando pedir)
ssh-keygen -t dsa -f ~/.ssh/id_dsa
envia a chave pro servidor, para autorização automática
cat ~/.ssh/id_dsa.pub | ssh banto@192.168.56.101 'cat - >> ~/.ssh/authorized_keys'
em /usr/local/bin/backup
#!/bin/bash
#
MAIL="seu@email.com.br"
DATA=`date +%Y/%m/%d`
rsync -Hxpagouvt /srv/backup --rsh='ssh -p6969' --exclude 'tmp' banto@192.168.56.101:.
mutt -s "Backup $DATA" $MAIL < /usr/local/backup/bkp-ultimo
em /etc/crontab
35 2 * * * root /usr/local/bin/automysqlbackup.sh >/dev/null 2>&1
35 3 * * * root /usr/local/backup/backup.sh >/dev/null 2>&1
35 4 * * * root /usr/local/bin/backup >/dev/null 2>&1