Backup avançado
Publicado por Eduardo Vieira Mendes 19/03/2007
[ Hits: 8.603 ]
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
Administração de VirtualBox com ShellScript
Ver último twitter pelo terminal ou na barra de notificação
Algoritmo para calcular notas com array
Script para atualizar o sistema
Instalação e configuração do celular Nokia 6670 no Ubuntu 8.10
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Minha rede tem um espaço invisível que não dá pra digitar o nome da re... (1)
Pedagogia no brasil não passa de alfabetização por m4sturbação mental ... (2)
compilação samba 4.22 rock linux 9.5 (3)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (7)