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.340 ]
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
KeepAlive para conexão discada (ou não)
NetProfiler - Um solução para quem passeia por várias redes
Multi-head usando udev e Xnest
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)