Backup avançado
Publicado por Eduardo Vieira Mendes 19/03/2007
[ Hits: 8.889 ]
Script de backup.
Está incluída a possibilidade de escolher quais pastas a serem feitos backup, pasta onde deve ser armazenado o backup e ainda em qual formato de compressão deve ser utilizado.
#!/bin/bash
############################################
# Script de backup
# Criado por:
# Eduardo Vieira Mendes
# eduardovmendes@gmail.com
# LUS: 298813
# Uso: back <opções> <local> <dirs>
############################################
# Cria as váriaveis (Data inicial - Título - Arquivos de log - Dara + Hora - Diretórios - Local a ser salvo
di=`date +%d-%m-%Y`
dh=`date +%d-%m-%Y+%H:%M`
title="backup-$dh"
log=/var/log/"backup-$di".log
local=$2
dirs="$3 $4 $5 $6"
uso() {
#Função para mostrar a ajuda!
echo "================================================================="
echo " Backup de arquivos do sistema"
echo " Faz backup dos arquivos importantes do sistema e os comprime"
echo " Uso: back <opções> <local> <dirs>"
echo " Onde:"
echo
echo " <opções>"
echo " -t | --tar Sem compressão, apenas armazena os arquivos"
echo " -g | --gzip Compressão para Gzip"
echo " -b | --bzip Compressão para Bzip"
echo
echo "<local>"
echo " Local a ser gravado o backup"
echo
echo "<dirs> Diretórios a serem feitos o backup"
echo
echo "================================================================="
exit 1
}
# Limpa a tela
clear
bkptar() {
# Se nenhum local for especificado para o arquivo do backup, para e mostra a ajuda
if [ "$local" == "" ]; then
echo
echo "Nenhum local especificado para gravar o arquivo de backup"
echo
uso
exit 1
fi
# Se nenhuma pasta for selecionada para o backup, para e mostra a ajuda
if [ "$dirs" == "" ]; then
echo
echo "Nenhuma pasta especificada para ser feito o backup"
echo
uso
exit 1
fi
# Caso contrário inicia o backup sem compressão
echo "Iniciando backup sem compressão as $dh"
# Preparando arquivo de log
echo "O arquivo de log será gerado em $log"
rm -f $log
echo "Iniciando backup sem compressão as $di" >> $log
localar=$local$title
tar -cpPmv $dirs -f $localar.tar >> $log
echo "Backup criado com susesso em $localar"
exit 1
}
bkpg() {
# Se nenhum local for especificado para o arquivo do backup, para e mostra a ajuda
if [ "$local" == "" ]; then
echo
echo "Nenhum local especificado para gravar o arquivo de backup"
echo
uso
exit 1
fi
# Se nenhuma pasta for selecionada para o backup, para e mostra a ajuda
if [ "$dirs" == "" ]; then
echo
echo "Nenhuma pasta especificada para ser feito o backup"
echo
uso
exit 1
fi
# Caso contrário inicia o backup com compressão gzip
echo "Iniciando backup com compressão Gzip as $dh"
# Preparando arquivo de log
echo "O arquivo de log será gerado em $log"
rm -f $log
echo "Iniciando backup com compressão Gzip as $di" >> $log
localar=$local$title
tar -cpPmv $dirs -f $localar.tar.gz >> $log
echo "Backup criado com susesso em $localar"
exit 1
}
bkpb() {
# Se nenhum local for especificado para o arquivo do backup, para e mostra a ajuda
if [ "$local" == "" ]; then
echo
echo "Nenhum local especificado para gravar o arquivo de backup"
echo
uso
exit 1
fi
# Se nenhuma pasta for selecionada para o backup, para e mostra a ajuda
if [ "$dirs" == "" ]; then
echo
echo "Nenhuma pasta especificada para ser feito o backup"
echo
uso
exit 1
fi
# Caso contrário inicia o backup sem compressão
echo "Iniciando backup com compressão Bzip as $dh"
# Preparando arquivo de log
echo "O arquivo de log será gerado em $log"
rm -f $log
echo "Iniciando backup com compressão Bzip as $di" >> $log
localar=$local$title
tar -cpPmvj $dirs -f $localar.tar.bz >> $log
echo "Backup criado com susesso em $localar"
exit 1
}
#Escolher o que rodar:
while true ; do
case "$1" in
-h|--help)
uso; exit 1 ;;
"")
uso ; exit 1 ;;
-t|--tar)
bkptar ; exit 1 ;;
-g|--gzip)
bkpg ; exit 1 ;;
-b|--bzip)
bkpb ; exit 1 ;;
--)
uso ; exit 1 ;;
*)
uso ; exit 1 ;;
esac
done
conssh.sh - Frontend para SSH via proxy HTTP
Free VPN - download de VPNs do vpnbook.com
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Instalar Ubuntu com Btrfs + LUKS de forma fácil
Habilitando "hotcorner" no Ubuntu
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Continuando meus tópicos anteriores (9)
Executar um programa em Rust (2)
Não consigo publicar screenshots no Viva o Linux [RESOLVIDO] (5)









