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.391 ]
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
Configurando OpenSSH no Windows Server 2003 para autenticação por chave (sem senha)
Alternância de GPU em notebooks Core-i
Desinstalando todos os programas instalados a partir de uma data específica
Coloque ordem em seus programas
XML de NF-e ou CT-e ou MDF-e - Como validar usando os pacotes de esquemas do Governo
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)