Backup em HD Externa com Rsync
Publicado por Rômulo Mazzuco Grandini (última atualização em 12/03/2012)
[ Hits: 9.303 ]
Neste script, procuro resolver o chato problema de quando plugamos uma device usb no linux, ele ser reconhecido cada hora com um nome (/sdd1 sdd2 sde1 etc), utilizando para evitar esse problema uma combinação de blkid + awk. Ele direciona logs para arquivo por data.log no apache e mantém apenas os últimos 5 dias de logs.
Nota: para utilizar, é necessário ter o apache e o rsync instalados, além dos diretórios citados.
#!/bin/bash
#####################################
##### BACKUP v2.0 #####
##### Romulo Grandini 06/03/12 #####
#####################################
# Dica de como agendar no cron para backup diario em tal horario
# 0 17 * * * /home/scripts/rbackup.sh
# DEFININDO VARIAVEIS
# Origens de Backup
ORIGEM1="/mnt/hd-1"
ORIGEM2="/mnt/hd-2"
# Destino de backups (Uma Hd Externa)
DESTINO="/mnt/backup"
# Caminho dos logs e nome por data
LOG="/var/www/backup_logs/`date +%d-%m-%y | tr / -`.log"
# Logs de leitura iniciais
echo "" >> $LOG
echo "" >> $LOG
echo "######################################" >> $LOG
echo "### BACKUP v2.0 ###" >> $LOG
echo "######## BACKUP AUTOMATIZADO #########" >> $LOG
echo "######################################" >> $LOG
echo "" >> $LOG
echo Iniciando script................[OK] >> $LOG
echo Limpando logs antigos ..........[OK] >> $LOG
# Procura e remove logs com mais de 5 dias
find /var/www/backup_logs -type f -mtime +5 -exec rm -rf {} ";"
# Define o /dev da HD Externa (Para pegar o blkid do device use blkid como root no terminal)
DEVICE=`/sbin/blkid |grep 10C83EF3C83ED6A5 | awk -F: '{print $1}'`
# Desmonta e monta a HD Externa
umount -l $DEVICE
# Verifica se HD esta montada ou nao
if mount -t ntfs-3g $DEVICE $DESTINO
then
{
# Se estiver montado, inicia a sincronia de Hd-1 e Hd-3 somente
echo "" >> $LOG
echo "HD EXTERNA OK: Iniciando a sincronia de discos..." >> $LOG
echo "" >> $LOG
rsync -auv --delete $ORIGEM1 $DESTINO >> $LOG
rsync -auv --delete $ORIGEM2 $DESTINO >> $LOG
echo "" >> $LOG
echo "BACKUP REALIZADO COM SUCESSO!" >> $LOG
}
else
{
echo "" >> $LOG
echo "ERRO AO MONTAR HD EXTERNA: BACKUP CANCELADO!" >> $LOG
}
fi
# Desmonta a HD ao finalizar
echo "Fim do Relatorio." >> $LOG
umount -l $DEVICE
Script para formatar disquetes em modo texto (Melhorado)
Testador de portas usando nmap
Gzipar arquivos com determinadas extensões
Backup das Bases de dados do [Mantis, MySQL, Phpmyadmin, Testlink] e dos Projetos do SVN
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









