Backup

Publicado por Frederico de Moura Ornelas 12/01/2003

[ Hits: 18.282 ]

Download backup.sh




Script simple de fazer Backup de arquivos importantes

  



Esconder código-fonte

/* ----------------- */
 BashScript/bacanas/backup.sh
#!/bin/bash
# OBS.: Por favor melhore este script! :-)

# Se o número de parâmetros for menor que 2...
[ $# -lt 2 ] && {
  echo "Uso: `basename $0` destino origem [origem2 origem3...]"
  exit 1        # ... sai do script
}

echo "--> Fazendo backup"
FILE="${1}_$(/bin/date +%d-%m-%Y).tgz"
shift
# Aqui está o "segredo": o shift acima é executado para que eu possa
# usar "$*" no if abaixo.

if tar czf $FILE $* ; then
  echo "--> Backup feito com sucesso"
else
  echo "--> OCORREU UM ERRO <--" 1>&2
  exit 1
fi
<-->
/* ----------------- */

Scripts recomendados

Alta disponibilidade de Links com CentOS 6

Backup completo e automatizado da base de dados do ZODB

Script para renomear arquivos

Scritp de Firewall com Iptables

Cálculo de Horas


  

Comentários
[1] Comentário enviado por schrodinger em 22/09/2014 - 11:58h

Dei uma automatizada no teu script(pouca coisa, só na inserção de diretórios).
Muito legal seu script!!!! Parabéns!!!!

#!/bin/bash
############## PARÂMETROS PARA CONFIGURAR #######################
# Localização dos arquivos para backup
echo "Digite o diretório para o backup:"
read DIR
ARQUIVOS=$DIR #"/home/beowulf/Documentos/ANA"

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

# Local onde será salvo o backup (outro computador)
echo "Digite o local a ser salvo o backup:"
read DIR2
BKP=$DIR2 #"/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

[2] Comentário enviado por schrodinger em 22/09/2014 - 12:00h

E tbm aparece isso:

/backup.sh: line 44: mkisofs: comando não encontrado
./backup.sh: line 51: cdrecord: comando não encontrado
./backup.sh: line 52: cdrecord: comando não 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