Backup usando o tar com o gzip
Publicado por Pedro Fernandes (última atualização em 20/02/2020)
[ Hits: 3.374 ]
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
Restauração de backup Firebird a partir de um arquivo .7Z contendo um GBK
MySQL - Script para backup automatizado
Script de backup MySQL [melhorado]
Nenhum comentário foi encontrado.
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
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
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
Programa fora de escala na tela do pc (10)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









