Backup usando o tar com o gzip
Publicado por Pedro Fernandes (última atualização em 20/02/2020)
[ Hits: 3.393 ]
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
Lisa - sistema de backup com rsync
Backup, compactação, verificação e transferência de arquivos
Restauração de backup Firebird a partir de um arquivo .7Z contendo um GBK
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro no suitable vídeo mode (10)
Navegar no Firefox sem passar pelo Google [RESOLVIDO] (2)
Pergunta: Meu teclado não está respondendo direito como e consertar? (3)
Erro: Lazarus 4.2 64 no Linux Mint não entra mais apos ajustar desktop... (1)









