Backup avançado
Publicado por Eduardo Vieira Mendes 19/03/2007
[ Hits: 8.739 ]
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
Manutenção básica em partições Windows
Rotina para backup diário, semanal e mensal (exemplo para Firebird)
Instalando Nagios 4.0.8 - Debian 7
Backup individual de contas no ZIMBRA MAIL
Compactar com senha usando 7Zip
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (2)
PIP3 - erro ao instalar módulo do mariadb para o Python (4)