Script de backup para cd-rw e outro local (pasta mapeada)

Publicado por Marcelo (última atualização em 17/10/2009)

[ Hits: 5.065 ]

Download backup.sh




Este script serve para criar backup de pastas inteiras, compactando os arquivos em um só, nomeando este com a data do backup, movendo para uma pasta (pode ser uma pasta mapeada na rede com NFS) e gravando em um cd-rw.

Pode-se especificar inclusive os tipos de arquivos que quer fazer backup. No script cada passo está comentado, facilitando muito o entendimento.

  



Esconder código-fonte

#!/bin/bash
############## PARÂMETROS PARA CONFIGURAR #######################
# Localização dos arquivos para backup
ARQUIVOS="/home/marcelo/Documentos/ANA"

# Tipo de arquivo: *.jpg, *.doc, .xls. etc... ou * para todos os arquivos
TIPO="*"

# Local onde será salvo o backup (outro computador)
BKP="/home/marcelo/Documentos/bkp"

# aqui defini uma variavel de data para compor o nome do arquivo
DATA=`date +%d-%m-%Y`

CDROM="/media/cdrom0"
############ FIM DOS PARÂMETROS PARA CONFIGURAR #################

vcd () {
               if mount | grep cdrom > /dev/null; then
                        umount /media/cdrom0
                        vcd
                else
                        backup
                fi

}

backup () {
                # aqui defini uma variavel de data para compor o nome do arquivo
                DATA=`date +%d-%m-%Y`

                # compacta os arquivos e nomeia o arquivo com a data atual
                cd $ARQUIVOS
                tar -jcvf backup-"$DATA".tar.bz2 $ARQUIVOS/$TIPO

                # grava em um arquivo a data e hora da última modificação de todos os arquivos
                ls -Rlh | awk {'print $6" "$7" "$8'} > modificados-por-data.inf

                # transforma o arquivo em iso para gravar no cd (instalar mkisofs)
                mkisofs -pad -l -r -J -v -V "bkp" -o backup.iso "$ARQUIVOS"/*.tar.bz2

                # move os arquivos para uma pasta mapeada da rede (nfs) (mapear pasta igual fizemos no servidor)
                mv backup-*.tar.bz2 modificados-por-data.inf $BKP/

                # apaga o cd RW
                # grava o arquivo no cd
                cdrecord dev=0,0,0 -blank=fast
                cdrecord -v -fs=16M dev=0,0,0 speed=10 -data backup.iso

                # exclui arquivos temporários
                rm -rf $ARQUIVOS/backup.iso
}

if [ -d $BKP ]; then
        vcd
else
        mkdir $BKP
        vcd
fi

Scripts recomendados

Calculadora simples

pimg na rede

Backup

Simples Agenda

mysql.sh


  

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