Backup usando o tar com o gzip
Publicado por Pedro Fernandes (última atualização em 20/02/2020)
[ Hits: 3.427 ]
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
Backups de servidor CentOS com cPanel/WHM para servidor VPS Windows Server 2008
DriveTool.sh: um script para cópia rápida e segura de arquivos para unidades flash USB
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
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









