Backup no runlevel 0 (Slackware 11)

Publicado por Perfil removido em 20/03/2007

[ Hits: 6.093 ]

 


Backup no runlevel 0 (Slackware 11)



É muito comum a perda de dados ao formatar uma máquina ou até mesmo ao instalar uma nova distro.

Aconteceu comigo quando troquei o Debian Etch pelo Slackware 11, pois o Slackware dispõe as partições em ordem crescente de número (hda1, hda2, ..., hdax), diferente do Debian e outras que mostram na mesma ordem em que as partições estão fisicamente no disco.

Resultado: perdi todos os 40 GB de dados IMPORTANTES que eu tinha.

Pus me a pensar numa maneira simples de salvar o conteúdo de uma pasta ou partição qualquer sempre que o sistema fosse reiniciado ou até mesmo desligado.

Então lembrei do runlevel 0 (ou 6) que se encaixa direitinho nessa situação.

Vamos à obra:

Crie e salve seu script de backup, abaixo vai um exemplo:

1. #!/bin/bash
2. # - - - monta a partição de destino - - -
3. mount -t vfat /dev/hda2 /mnt
4. cp -r /dados/* /mnt/backup
5. # - - - desmonta a partição destino - - -
6. umount /dev/hda2

Comentários:
  • a montagem (linha 3) pode ser feita em qualquer partição, no meu caso escolhi uma partição Windows por motivos particulares;
  • /dados/* (linha 4) são todos os arquivos ou diretórios alvos do seu backup;
  • use a opção -r no comando cp (linha 4), pois sem ela não serão copiados os subdiretórios que porventura você criar;
  • não esqueça de tornar seu script executável com o comando:

    # chmod 770 endereço_do_script

Crie um link simbólico do seu script no diretório /etc/rc.d/ ou o diretório similar da sua distribuição:

# ln -s endereço_do_seu_script /etc/rc.d

Agora adicione no início do arquivo /etc/rc.d/rc.0 a seguinte linha:

/etc/rc.d/nome_do_link_que_aponta_para_seu_script

Pronto, agora sempre que você desligar ou reiniciar sua máquina será feita a cópia integral dos arquivos indicados na linha 4 do script.

Espero ajudar outros a não caírem na minha displicência.

Outras dicas deste autor

Instalando Ubuntu-14.04-LTS

Como criar uma calculadora no Gambas3 [Vídeo]

Instalando modem ZTE MF645 Vivo 3G no Ubuntu 8.04

Emesene - instalando no Ubuntu sem complicação

Placa wireless Broadcom 4310 no Debian Linux

Leitura recomendada

Dica para automatizar suas tarefas diárias [Iniciante]

Habilitar Cgi-Shell no Apache2

Curso de shell script em vídeo

Lendo setas do teclado em shell script

Script básico para ouvir MP3 aleatórias

  

Comentários
[1] Comentário enviado por tenchi em 20/03/2007 - 10:28h

Uma sugestão: depois de criar a cópia de backup, ficaria legal compactar o arquivo de backup com o tar, além de nomea-lo com algo que lembre a data do backup. Também seria interessante que o backup não fosse feito toda vez que o sistema é desligado, mas sim de semana a semana, não sei. E eh possível fazer isso sem o crontab, somente verificando a data ou o dia da semana.
Isso foi só uma sugestão para melhorar o script.
Flw.

[2] Comentário enviado por removido em 20/03/2007 - 14:45h

Concordo contigo tenchi e na verdade até quis implementar essas e outras idéias que tive, mas depois que você envia a dica para a espera não tem como editá-la.
Ontem mesmo postei uma pergunta sobre como comparar diretórios em relação a mudanças, recebi uma sugestão bacana e somado com a sua deve ficar bem interessante.
Valeu!

[3] Comentário enviado por andersonjackson em 21/03/2007 - 10:16h

Outra ideia é usar o rsync no lugar do "cp", que irá copiar apenas os novos arquivos. O comando é o seguinte:

rsync -Cragovzp /dados /mnt/backup

Se quiser que ele delete os arquivos excluidos inclua "--delete".

Abraço.

[4] Comentário enviado por removido em 09/06/2007 - 00:20h

pessoal, tentei melhorar a idéia dessa dica publicando o script:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=2775
No entanto não consegui encaixar o rsync nele. Talvez eu crie outro usando ele como foco. Mas valeram as dicas. Thanks.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts