Como fazer backup automático do Linux em CD ou DVD

Há inúmeros tutoriais ensinando a fazer backup, Internet afora.
A melhor maneira de fazer seus backups continua sendo através de um script de execução automática. Assim, ninguém precisa se lembrar de realizar esta tarefa tão importante.

O script, que segue, usa o Bash e 3 programas básicos:

  • genisoimage — para criar uma imagem ISO, prontinha para ser gravada em CD ou DVD
  • growisofs — para queimar a imagem ISO na mídia, em branco, que se encontra no drive
  • cron — para agendar e executar o seu script

Vou também usar o espeak, no meu script, para obter um retorno audível sobre o procedimento.
Se preferir um script silencioso, bastar remover ou editar as linhas que façam referência ao programa.

Não lembro qual foi a última vez em que ouvi CD no computador. Também é raro assistir ao conteúdo de um DVD, atualmente.
É em função dos backups diários, que o meu drive continua sendo mais importante do que nunca.

Altere os exemplos dados, para que se encaixem melhor às suas necessidades e não esqueça de olhar o conteúdo dos links, caso queira obter mais informações sobre o assunto.

#!/bin/sh
# Este script depende do genisoimage, growisofs e do espeak (opcionalmente).

# Informa que o procedimento irá começar.
echo -e "\niniciando a sequencia de backup ... "
espeak -v pt-br "Iniciando a sequencia de backup."

# Criar o nome do arquivo de backup
hoje=$(date +'%A-%d-%m-%Y');
nomearquivo=backup-$hoje.iso
echo "criando o arquivo $nomearquivo"

# Cria a imagem .iso a partir do diretório ~/temp.
# Altere o nome do diretório para o mais adequado para você.
genisoimage -o $nomearquivo ~/temp
ls -l $nomedoarquivo

# Avisando que genisoimage terminou.
echo -e "\no arquivo $nomearquivo foi criado"
espeak -v pt-br "O arquivo ISO foi gerado."

# o CD/DVD será gravado.
# Verifique se o endereço do dispositivo está correto para o seu sistema.
echo -e "\na mídia será apagada para abrigar o novo arquivo de backup"
espeak -v pt-br "A mídia será apagada para abrigar o novo arquivo de backup"
growisofs -dvd-compat -Z /dev/dvdrw=$nomearquivo

espeak -v pt-br “estou falando em português.”

Verifique o script e, se tudo estiver de acordo com suas expectativas, insira uma chamada para ele no cron.

Referências

já falei antes sobre o genisoimage e o growisofs. Se tiver dúvidas, leia o post. 😉

http://crunchbang.org/forums/viewtopic.php?id=18298.

Como criar um sistema de arquivos ISO a partir de um diretório no Linux

Em um de meus scripts de backup, inclui uma linha de comando para criar um arquivo (ou sistema de arquivos) .ISO a partir de um diretório compactado em um arquivo .tar.gz
Você pode incluir vários diretórios e arquivos à sua livre escolha. Basta pegar um dos exemplos, abaixo, e editar para atender ás suas necessidades.

Um arquivo .ISO contém um sistema de arquivos completo e pronto para ser gravado em um CD ou DVD. Se preferir, você pode gravar vários destes arquivos em um flash drive (ou pendrive).
É possível usar ferramentas gráficas (GUI) para gravar em mídias óticas, claro. Mas, se deseja incluir o procedimento em um script, para ser executado automaticamente (ideal, em caso de backups), talvez seja melhor saber como se virar na linha de comando (CLI).

São basicamente 2 ferramentas a ser usadas, aqui:

  1. o genisoimage, para criar o sistema de arquivos .ISO e
  2. o growisofs, para gravar o arquivo em mídia.

O uso do mkisofs é superfácil. Basta informar o nome/caminho do diretório que você deseja incluir em uma .ISO:


genisoimage -o temporario.iso temp/

ls -la *.iso

-rw-r--r-- 1 justincase justincase 421M out 30 10:04 temporario.iso

O genisoimage vai criar um arquivo com o nome ‘temporario.iso’ com o conteúdo da pasta temp/.
Você também pode invocar o aplicativo Brasero, a partir da CLI, com o seguinte comando:


brasero --image-file temp/

O Brasero irá gerar um arquivo com nome automático (brasero.iso), caso ele não seja alterado na interface do programa, a partir da pasta temp/.

Como gravar uma imagem ISO em um DVD

Na CLI, você pode usar o utilitário growisofs para queimar um DVD a partir de uma imagem ISO pronta.
É necessário indicar adequadamente o endereço do drive o nome da imagem ISO:


growisofs -dvd-compat -Z /dev/dvdrw=temporario.iso 

WARNING: /dev/dvdrw already carries isofs!
About to execute 'builtin_dd if=temporario.iso of=/dev/dvdrw obs=32k seek=0'
/dev/dvdrw: "Current Write Speed" is 4.1x1352KBps.
   12353536/440578048 ( 2.8%) @2.5x, remaining 2:18 RBU 100.0% UBU   0.3%
   26214400/440578048 ( 6.0%) @3.0x, remaining 1:50 RBU 100.0% UBU  99.4%
   40108032/440578048 ( 9.1%) @3.0x, remaining 1:39 RBU 100.0% UBU  99.4%

...

builtin_dd: 215136*2KB out @ average 3.2x1352KBps
/dev/dvdrw: flushing cache
/dev/dvdrw: reloading tray

A mensagem, acima, “WARNING: /dev/dvdrw already carries isofs!“, é um aviso de que já há conteúdo dentro do DVD-RW.
Fique atento, o comando irá sobrescrever (eliminar) o conteúdo preexistente, sem pedir confirmação.
Com o Brasero, é possível usar uma linha de comando mais enxuta — embora o aplicativo tenha várias outras opções de uso, tal como o growisofs.
Se quiser, basta informar o nome do arquivo .ISO a ser gravado.
Se a mídia não estiver vazia (estou usando um DVD-RW nos meus exemplos), desta vez, você será avisado:


brasero --image=temporario.iso

gravar DVD com BRASERO no Linux

Para usar dentro de um script, cuja execução está projetada para ser automática e sem intervenção humana, esta solução pode ser muito ruim.
Neste caso, tente adicionar a opção ‘–immediately’:


brasero --immediately --image=temporario.iso

Rode a ajuda do Brasero, para descobrir mais opções:


brasero --help-all | more