Automatização de backup
Este artigo mostra como automatizar os backup de seus servidores, aqui vou abordar uma situação onde você precisa manter seus backups atualizados e não poderá em horários que não está na empresa. Para isso utilizaremos scripts e agendamentos. Aqui no Viva o Linux isso não é novidade, mas fiz este bem detalhado. Então mãos à obra!
[ Hits: 10.205 ]
Por: Paulo José Maestrello em 06/10/2016
#!/bin/bash # #BACKUP E COPIA DE ARQUIVO PARA 3 Locais #gumball.sh #Criado em 23/08/2016 #por Paulo J. Maestrello # ## algumas variaveis encontradas aqui, não são utilizadas neste script, mas as tenho sempre como cabeçalho, pois em outros processos uso, e gostaria que voces ##também tivessem elas. ##Variaveis Globais AGORA=$(date +%A" "%d/%m/%Y-%HH:%MM" "%:z%Z) HOJE=$(date +%d%m%Y) ONTEM=$(date -d 'yesterday' '+%d%m%Y') AMANHA=$(date -d 'tomorrow' '+%d%m%Y') ANTEONTEM=$(date -d '48 hours ago' '+%d%m%Y') CINCOPASSADO=$(date -d '5 days ago' '+%d%m%Y') QUINZEPASSADO=$(date -d '2 weeks ago' '+%d%m%Y') MESPASSADO=$(date -d '1 month ago' '+%d%m%Y') ANOPASSADO=$(date -d '1 year ago' '+%d%m%Y') LOGFILE="/home/backup/bkplog.txt" ##Variaveis Locais IDSRV="0001" SERVIDOR="$HOSTNAME" IPSERVIDOR="192.168.0.200" IPSERVIDORBKP="192.168.0.202" SOURCE="/home/usuarios/Documentos/" TARGET="/mnt/backup/$SERVIDOR" RESERVE="/mnt/reserve/$SERVIDOR" HDEXT="/mnt/hdexterno" #nomes dos arquivos tar.bz2 ARQU="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${HOJE}.tar.bz2" ARQONTEM="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${ONTEM}.tar.bz2" #### #inicio do backup #### echo " " >>$LOGFILE echo "+++++++">>$LOGFILE echo " " >>$LOGFILE echo "Iniciando Backup do SERVIDOR "$SERVIDOR >>$LOGFILE tar -cjf $TARGET/$ARQU $SOURCE* >>$LOGFILE if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Compactação ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE cd $TARGET if mount | grep -q "hdexterno" ; then #aqui verifico se o hd externo está montado echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT else echo "Aguarde Montando HD Externo" >>$LOGFILE mount -a if mount | grep -q "hdexterno" ; then echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT else echo "Não foi encontrado HD Externo" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE fi else echo STATUS='FAIL' >>$LOGFILE echo "Compactação ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE fi if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Backup ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE else echo STATUS='FAIL' >>$LOGFILE echo "Backup ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE fi echo " " >>$LOGFILE echo "+++++++" >>$LOGFILE echo " " >>$LOGFILE exit
#!/bin/bash # #BACKUP E COPIA DE ARQUIVO PARA 3 Locais #darvin.sh #Criado em 23/08/2016 #por Paulo J. Maestrello # ## algumas variaveis encontradas aqui, não são utilizadas neste script, mas as tenho sempre como cabeçalho, pois em outros processos uso, e gostaria que voces ##também tivessem elas. ##Variaveis Globais AGORA=$(date +%A" "%d/%m/%Y-%HH:%MM" "%:z%Z) HOJE=$(date +%d%m%Y) ONTEM=$(date -d 'yesterday' '+%d%m%Y') AMANHA=$(date -d 'tomorrow' '+%d%m%Y') ANTEONTEM=$(date -d '48 hours ago' '+%d%m%Y') CINCOPASSADO=$(date -d '5 days ago' '+%d%m%Y') QUINZEPASSADO=$(date -d '2 weeks ago' '+%d%m%Y') MESPASSADO=$(date -d '1 month ago' '+%d%m%Y') ANOPASSADO=$(date -d '1 year ago' '+%d%m%Y') LOGFILE="/home/backup/bkplog.txt" ##Variaveis Locais IDSRV="0002" SERVIDOR="$HOSTNAME" IPSERVIDOR="192.168.0.201" IPSERVIDORBKP="192.168.0.202" SOURCE="/home/usuarios/Documentos/" TARGET="/mnt/backup/$SERVIDOR" RESERVE="/mnt/reserve/$SERVIDOR" HDEXT="/mnt/hdexterno" #nomes dos arquivos tar.bz2 ARQU="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${HOJE}.tar.bz2" ARQONTEM="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${ONTEM}.tar.bz2" #### pg_dump -s bcodedados -f /home/sistemabkp/estrut.sql pg_dump -a bcodedados -f /home/sistemabkp/dados.sql pg_dumpall -g > /home/sistemabkp/usuarios.sql tar -cvzf /home/sistemabkp/$ARQU /home/sistemabkp/*.sql if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Compactação ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE cd /home/sistemabkp/ if mount | grep -q "hdexterno" ; then #aqui verifico se o hd externo está montado echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT vacuumdb -z -d bcodedados -f rm *.sql else echo "Aguarde Montando HD Externo" >>$LOGFILE mount -a if mount | grep -q "hdexterno" ; then echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT vacuumdb -z -d bcodedados -f rm *.sql else echo "Não foi encontrado HD Externo" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE vacuumdb -z -d bcodedados -f rm *.sql fi else echo STATUS='FAIL' >>$LOGFILE echo "Compactação ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Backup ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE else echo STATUS='FAIL' >>$LOGFILE echo "Backup ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE fi echo " " >>$LOGFILE echo "+++++++" >>$LOGFILE echo " " >>$LOGFILE exit
#!/bin/bash # #BACKUP E COPIA DE ARQUIVO PARA 3 Locais #gumball.sh #Criado em 23/08/2016 #por Paulo J. Maestrello # ## algumas variaveis encontradas aqui, não são utilizadas neste script, mas as tenho sempre como cabeçalho, pois em outros processos uso, e gostaria que voces ##também tivessem elas. ##Variaveis Globais AGORA=$(date +%A" "%d/%m/%Y-%HH:%MM" "%:z%Z) HOJE=$(date +%d%m%Y) ONTEM=$(date -d 'yesterday' '+%d%m%Y') AMANHA=$(date -d 'tomorrow' '+%d%m%Y') ANTEONTEM=$(date -d '48 hours ago' '+%d%m%Y') CINCOPASSADO=$(date -d '5 days ago' '+%d%m%Y') QUINZEPASSADO=$(date -d '2 weeks ago' '+%d%m%Y') MESPASSADO=$(date -d '1 month ago' '+%d%m%Y') ANOPASSADO=$(date -d '1 year ago' '+%d%m%Y') LOGFILE="/home/backup/bkplog.txt" ##Variaveis Locais IDSRV="0003" SERVIDOR="$HOSTNAME" IPSERVIDOR="192.168.0.202" IPSERVIDORBKP="192.168.0.202" SOURCE="/home/usuarios/Documentos/" TARGET="/mnt/backup/$SERVIDOR" RESERVE="/mnt/reserve/$SERVIDOR" HDEXT="/mnt/hdexterno" #nomes dos arquivos tar.bz2 ARQU="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${HOJE}.tar.bz2" ARQONTEM="BKP_$(echo $IDSRV)_$(echo ${SERVIDOR})_${ONTEM}.tar.bz2" #### #inicio do backup #### echo " " >>$LOGFILE echo "+++++++">>$LOGFILE echo " " >>$LOGFILE echo "Iniciando Backup do SERVIDOR "$SERVIDOR >>$LOGFILE tar -cjf $TARGET/$ARQU $SOURCE* >>$LOGFILE if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Compactação ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE cd $TARGET if mount | grep -q "hdexterno" ; then #aqui verifico se o hd externo está montado echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT else echo "Aguarde Montando HD Externo" >>$LOGFILE mount -a if mount | grep -q "hdexterno" ; then echo "HD Externo Montado OK" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE cp $ARQU $HDEXT else echo "Não foi encontrado HD Externo" >>$LOGFILE cp $ARQU $BACKUP cp $ARQU $RESERVE fi else echo STATUS='FAIL' >>$LOGFILE echo "Compactação ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE fi if [ $? -eq 0 ]; then echo STATUS ='OK' >> $LOGFILE echo "Backup ($SERVIDOR - $HOJE) realizado com sucesso" >>$LOGFILE else echo STATUS='FAIL' >>$LOGFILE echo "Backup ($SERVIDOR - $HOJE) falhou ao executar" >>$LOGFILE fi echo " " >>$LOGFILE echo "+++++++" >>$LOGFILE echo " " >>$LOGFILE exit
Enviando mensagens para usuários da rede
Convertendo TXT ou HTML em OGG
Brincando com vetores - complemento
Conectando-se à Internet via ADSL com PPPoE no OpenBSD
Ajustando a hora do micro com extrema precisão
Nenhum comentário foi encontrado.
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Contas online no POP OS 24.04 ? (1)
Liberação de alguns links no squid (19)