Front-end para backup em CDRW e DVDRW

Publicado por José Lima 30/09/2005

[ Hits: 6.169 ]

Download backup.sh




Front-end desenvolvido com XDialog para backup de arquivos em CDRW ou DVDRW.

  



Esconder código-fonte

#!/bin/sh

# Interface grafica para backup
# utilizando o XDialog como ferramenta
# de desenvolvimento

# Criado por Jose Alves de Lima - ilsinho@ig.com.br - em 18/07/2005



# Funcoes especificas

##################################
#           MENSAGENS            #
##################################

################# Mensagem inicial
Mensagem_Inicial() {
Xdialog --title "Backup"\
        --ok-label "Continuar"\
        --msgbox "Você poderá utilizar esta ferramenta para \n backup de arquivos do sistema.\n\n José Alves \n ilsinho@ig.com.br" 15 45

case $? in
    0) Menu_Inicial;;
    255) Mensagem_Finalizar;;
esac
}


################# Mensagem finalizar
Mensagem_Finalizar() {
Xdialog --title "Finalizar Programa"\
        --ok-label "Finalizar"\
        --cancel-label "Não finalizar"\
        --yesno "\nTem certeza que deseja finalizar o programa?\n" 0 0

case $? in
    0) exit 0;;
    1) Menu_Inicial;;
    255) exit 0;;
esac
}


################# Mensagem - Backup ok
Backup_Ok() {
Xdialog --title "Backup realizado"\
        --msgbox "O backup foi realizado com sucesso." 10 45

case $? in
    0) Menu_Inicial;;
    255) Mensagem_Finalizar;;
esac
}


################# Mensagem - Insira cd
Insira_Cd() {
Xdialog --title "Insira CD-RW"\
        --msgbox "Insira um CD do tipo RW. \n Clique em OK para continuar." 10 45

case $? in
    0) Grava_CD;;
    255) Mensagem_Finalizar;;
esac
}


################# Mensagem - Insira dvd
Insira_Dvd() {
Xdialog --title "Insira DVD-RW"\
        --msgbox "Insira um DVD do tipo RW \n Clique em OK para continuar." 10 45

case $? in
    0) Grava_DVD;;
    255) Mensagem_Finalizar;;
esac
}



##################################
#       FUNCOES DE GRAVACAO      #
##################################

Grava_CD() {

#desmontagem da unidade de CD
umount /media/cdrecorder

#parametros do cd
dvdrecord --scanbus > /tmp/cdrw
CD=`cat /tmp/cdrw | grep RW | awk {'print $1'}`

#nomeacao da pasta que recebe os arquivos
#compactados de backup e criacao da pasta para backup

PASTA=`date +%d-%m-%Y`
mkdir /tmp/$PASTA

#copia e compactacao dos arquivos para a pasta criada
#utiliza a ralacao de pastas listadas em /server/adm_server/lista_backup.txt

for LISTA in `cat /servidor/backup/lista.txt` ; do
  touch /tmp/arquivo.txt
  echo $LISTA > /tmp/arquivo.txt 
  ARQUIVO=`cut -d/ -f2 /tmp/arquivo.txt`
  tar -czvf /tmp/$PASTA/$ARQUIVO.tar.gz $LISTA
done

#apaga o conteudo do CD/RW - limpeza

cdrecord -v dev=ATA:$CD speed=8 blank=fast

#cria o ISO para o CD

mkisofs -r -o /tmp/iso_backup /tmp/$PASTA/*

#gravacao do cd

cdrecord -v dev=ATA:$CD speed=4 -eject -data /tmp/iso_backup

#remocao dos arquivos temporarios

rm -fR /tmp/$PASTA
rm -f /tmp/iso_backup
rm -f /tmp/arquivo.txt
rm -f /tmp/cdrw

Backup_Ok;

}


Grava_DVD() {

#desmontagem da unidade de CD
umount /media/cdrecorder

#parametros do dvd
dvdrecord --scanbus > /tmp/dvd
DVD=`cat /tmp/dvd | grep DVDRW | awk {'print $1'}`

#nomeacao da pasta que recebe os arquivos
#compactados de backup e criacao da pasta para backup

PASTA=`date +%d-%m-%Y`
mkdir /tmp/$PASTA

#copia e compactacao dos arquivos para a pasta criada
#utiliza a ralacao de pastas listadas em /server/adm_server/lista_backup.txt

for LISTA in `cat /servidor/backup/lista.txt` ; do
  touch /tmp/arquivo.txt
  echo $LISTA > /tmp/arquivo.txt 
  ARQUIVO=`cut -d/ -f2 /tmp/arquivo.txt`
  tar -czvf /tmp/$PASTA/$ARQUIVO.tar.gz $LISTA
done

#apaga o conteudo do CD/RW - limpeza

dvdrecord -v dev=ATA:$DVD speed=8 blank=fast

#cria o ISO para o CD

mkisofs -r -o /tmp/iso_backup /tmp/$PASTA/*

#gravacao do cd

dvdrecord -v dev=ATA:$DVD speed=4 -eject -data /tmp/iso_backup

#remocao dos arquivos temporarios

rm -fR /tmp/$PASTA
rm -f /tmp/iso_backup
rm -f /tmp/arquivo.txt

Backup_Ok;

}



##################################
#            TAREFAS             #
##################################

################# Opcoes de trabalho iniciais
Menu_Inicial() {
Xdialog --title "Opções de Trabalho"\
        --ok-label "Continuar"\
        --cancel-label "Finalizar"\
        --menubox "\nEscolha uma opção de trabalho \n para administração de grupos e usuários do Samba:\n\n" 15 56 6 \
        "CD-RW" "Backup de arquivos locais em CD"\
    "DVD-RW" "Backup de arquivos locais em DVD" 2> /tmp/menu.tmp.$$

opcao=$?
escolha=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $opcao in
    0) case $escolha in
            CD-RW) Insira_Cd;;
       DVD-RW) Insira-Dvd;;
       esac;;
    1) Mensagem_Finalizar;;
    255) Mensagem_Finalizar;;
esac
}


Mensagem_Inicial;

Scripts recomendados

Instalando Nagios 4.0.8 - Debian 7

Simples inventário de máquinas em Shell Script

Backup de Base de Dados

Compilar OpenSSL

Escolha a versão do PHP


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts