Script de backup para cd-rw e outro local (pasta mapeada)
Publicado por Marcelo (última atualização em 17/10/2009)
[ Hits: 5.338 ]
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.
#!/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
Convertendo man pages em PDFs (Versão CShell)
System Software 2.0 - Instale e remova repositórios e programas de forma simples
Limpar regras e compartilhar conexão
Atualizando o linux pelo apt-get
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (12)
Problema com som no laptop (5)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









