Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu 7.04 + E17
Por micmend
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por José Lima em 30/09/2005    [ 3563 hits ]

Login: ilsinho, 29027 pontos

   


Descrição

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

[ Download: backup.sh ]   [ Enviar nova versão ]

[ 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
   Script Linux recomendado Backup Incremental - tar
   Script Linux recomendado Gerando HTML de status de HD e coneccao de internet
   Script Linux recomendado Filtrando processos facilmente com psaux ( ps aux + grep + wc -l)
   Script Linux recomendado CGI Scan
   Script Linux recomendado Antivírus no Linux para usuários de domínio

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.