Backup usando o tar com o gzip
Publicado por Pedro Fernandes (última atualização em 20/02/2020)
[ Hits: 3.425 ]
Homepage: https://github.com/PedroF37
Backup usando o tar com o gzip. Os arquivos e diretórios são especificados em arquivo de configuração e envia para local especificado em variável DESTINO ou para $HOME/$ARQUIVO se variável DESTINO estiver vazia.
Tem que entrar no script e especificar o arquivo com a lista para o backup na variável CONFIG_FILE.
#!/bin/bash
#
#
# bkup.sh Arquiva usando o tar com o gzip os arquivos e diretorios
# especificados em arquivo de configuração, e envia
# para local especificado em variável DESTINO ou
# para $HOME/$ARQUIVO se variável DESTINO
# estiver vazia.
#
#
# USO ./bkup.sh
# ARQUIVO=bkp123.tar.gz ./bkup.sh
# DESTINO=/home/pedro/teste1 ./bkup.sh
# ARQUIVO=bkp123.tar.gz DESTINO=/home/pedro/teste1 ./bkup.sh
#
#
# OBS Tudo tem que ter caminho completo, incluindo
# arquivos e diretorios no arquivo especificado
# na variavel CONFIG_FILE
#
# EX /home/pedro/Downloads
# /home/pedro/Documentos
# Um por linha.
#
#
# SUGESTAO Criar diretorio para armazenar os backups
# e colocar CONFIG_FILE dentro do diretorio
# Depois no script editar DESTINO para apontar
# para o diretorio.
#
#
# autor pedro fernandes
# email pedrobfernandes32@protonmail.com
#
#
#########################################################################
#
#
# Pegando a data para anexar no nome do arquivamento
#
#
DATA=$(date +%d%m%y)
#
#
# Especifica nome do arquivamento
#
#
ARQUIVO=${ARQUIVO:-backup$DATA.tar.gz}
#
#
# Arquivo de configuração e destino do backup
#
#
# Especificar caminho completo: /home/user/arquivo
CONFIG_FILE=
DESTINO=${DESTINO:-$HOME}
#
#
#################### Inicio do script ###############################
#
#
# Verifica se arquido de configuração existe
#
#
if [ -z $CONFIG_FILE ]
then
clear
echo "Arquivo de configuração não existe."
echo "Abortando o script."
exit
fi
#
#
if [ -f $CONFIG_FILE -a -s $CONFIG_FILE ] # Garante que $CONFIG_FILE existe
then # e que não está vazio.
:
else
clear
echo "$CONFIG_FILE não existe ou está vazio."
echo "Abortando o script."
exit
fi
#
# "Constroi" nomes de arquivos e diretorios para o backup
#
FILE_NO=1 # Inicia na linha 1 do $CONFIG_FILE
exec < $CONFIG_FILE # redireciona o stdin para $CONFIG_FILE
#
#
read FILE_NAME # Lendo o primeiro registro
#
#
while [ $? -eq 0 ] # cria a lista para o backup
do
# Primeiro garante que arquivo ou diretorio existe
if [ -f $FILE_NAME -o -d $FILE_NAME ]
then
FILE_LIST="$FILE_LIST $FILE_NAME"
else
cat <<- EOF
$FILE_NAME não existe, logo não será incluido.
Está listado na linha $FILE_NO de $CONFIG_FILE.
Continuando a construção da lista para o arquivamento...
EOF
fi
#
#
FILE_NO=$[ $FILE_NO + 1 ]
read FILE_NAME
done
#
#
#################################################################
#
#
# Faz o arquivamento e comprime com gzip
#
#
echo
echo "Iniciando o arquivamento......"
#
#
tar -czf $DESTINO/$ARQUIVO $FILE_LIST 2> /dev/null
#
#
echo
echo "Arquivamento terminado"
echo "Arquivo resultante é: $DESTINO/$ARQUIVO"
#
#
exit
PKG Sync v4.0 - utilitário para backup de pacotes DEB baixados
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Criptografando arquivos para enviar pra sua nuvem
Nenhum comentário foi encontrado.
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
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (3)
Pendrive Bootable [RESOLVIDO] (4)









