Backup avançado
Publicado por Eduardo Vieira Mendes 19/03/2007
[ Hits: 8.790 ]
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
fcp (ftp copy) - copia um ou mais arquivos via FTP
Backup-Script2.0 -- Modo Gráfico sem precisar de X
Bloquear Facebook no Linux Educacional 3
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.









