E-mail de notificação de backup
Olá amigo :)
utilizo este script de backup que é bem completo, onde você pode modificar, melhorar, ao seu gosto. O mesmo tem varias opções (menu) onde o backup completo chama outro arquivo (full_backup.sh) que deixo separado pela razão de poder ser ativado pela crontab, independente do operador (bom para automatizar a tarefa de backup em servidores).
<inicio do arquivo backup.sh>
#!/bin/bash
device='/dev/hda5'
point='/mnt/backup'
home='/home'
ver='1.4'
clear
echo -e "
Backup Script v$ver
Writed by Marcelo M P Mariano
With vi editor, Slackware Linux 9.1
Kernel `uname -r`
Start as `date +%H:%M` by `whoami` on `cat /etc/HOSTNAME`
\n"
echo -e " Escolha a opção:\n"
echo -e "\t
1 - Montar partição de backup\t
2 - Listar arquivos da partição de backup\t
3 - Fazer backup de arquivos pessoais\t
4 - Fazer backup de arquivos de configuração\t
5 - Fazer backup completo desta maquina\t
6 - Fazer backup incremental dos arquivos
7 - Desmontar partição de backup a sair do programa\t
8 - Sair do programa\t"
echo -en " Escolha opção: "; read opcao
echo ""
if [ $opcao -eq 1 ]; then
/sbin/e2fsck -y $device >/dev/null 2>/dev/null
mount $device $point
echo -e "Partição de backup montada em $point\n"
sleep 1
tar czvf $point/root`date +%d_%m_%Y`.tar.gz /root \
echo -e "\tBackups pessoais criados com sucesso!\n"
find $point/ -type f -mmin -2
sleep 5
./backup.sh
elif [ $opcao -eq 4 ]; then
#lista de arquivos e diretorios para realizar backup
tar czvf $point/smb`date +%d_%m_%Y`.tar.gz /etc/samba/smb.conf
tar czvf $point/sshd`date +%d_%m_%Y`.tar.gz /etc/ssh/*
tar czvf $point/rc`date +%d_%m_%Y`.tar.gz /etc/rc.d/rc.*
tar czvf $point/boot_vmlinuz`date +%d_%m_%Y`.tar.gz /boot/vmlinuz*
tar czvf $point/System_map`date +%d_%m_%Y`.tar.gz /boot/System.map*
tar czvf $point/boot_config`date +%d_%m_%Y`.tar.gz /boot/config*
tar czvf $point/boot_loader`date +%d_%m_%Y`.tar.gz /etc/lilo.*
tar czvf $poiecho -e "Backups dos arquivos de configuracao criado com sucesso!\n"
find $point/ -type f -mmin -2
sleep 2
./backup.sh
elif [ $opcao -eq 5 ]; then
./full_backup.sh
elif [ $opcao -eq 7 ]; then
#lista de arquivos e diretorios para realizar backup
umount $point
echo -e "Partição de backup desmontada\n"
sleep 1
echo -e "Saindo do programa de backup\n"
sleep 2
clear
echo -e "Tchau!!!\n"
sleep 2
clear
elif [ $opcao -eq 8 ]; then
echo -e "Saindo do programa de backup\n"
clear
else
echo "Opção inválida, programa abortado"
clear
fi
echo -e "\n"
<termino do arquivo backup.sh>
<inicio do arquivo full_backup.sh>
#!/bin/bash
device='/dev/hda5'
point='/mnt/backup'
home='/home'
clear
echo -e "Log de backup gerado pelo Backup Script Escrito por Marcelo M P Mariano" > logs/backup`date +%d_%m_%Y`.log
/sbin/e2fsck -y $device >/dev/null 2>/dev/null
echo -e "Verificacao do sispositivo de backup OK!" >>logs/backup`date +%d_%m_%Y`.log
mount $device $point
echo -e "Dispositivo de backup $device montado em $point" >>logs/backup`date +%d_%m_%Y`.log
echo -e "Iniciando script de backup as `date +%H:%M` pelo usuario `whoami`" >>logs/backup`date +%d_%m_%Y`.log
tar czvf $point/home`date +%d_%m_%Y`.tar.gz $home \
tar czvf $point/root`date +%d_%m_%Y`.tar.gz /root \
tar czvf $point/smb`date +%d_%m_%Y`.tar.gz /etc/samba/smb.conf
tar czvf $point/sshd`date +%d_%m_%Y`.tar.gz /etc/ssh \
tar czvf $point/rc`date +%d_%m_%Y`.tar.gz /etc/rc.d \
tar czvf $point/boot_vmlinuz`date +%d_%m_%Y`.tar.gz /boot/vmlinuz*
tar czvf $point/System_map`date +%d_%m_%Y`.tar.gz /boot/System.map*
tar czvf $point/boot_config`date +%d_%m_%Y`.tar.gz /boot/config*
tar czvf $point/boot_loader`date +%d_%m_%Y`.tar.gz /etc/lilo.*
tar czvf $point/hosts`date +%d_%m_%Y`.tar.gz /etc/hosts
echo -e "Arquivos que entraram no backup: \n
`find $point/ -type f -mmin -10`
" >>logs/backup`date +%d_%m_%Y`.log
echo -e "
Backup realizado com sucesso!
Termino do backup as `date +%H:%M`
Status de espaco em disco apos o backup
`df $point`" >>logs/backup`date +%d_%m_%Y`.log
cat logs/backup`date +%d_%m_%Y`.log | mail -s "Log de backup" marcelo
echo -e "Backup completo criado com sucesso!\n"
find $point/ -type f -mmin -15
sleep 2
umount $point
clear
<fim do full_backup.sh>
Deste modo o backup fica bem completo!
PS.: somente não terminei a opção 6, que faria o backup dos arquivos alterados nas ultimas 24hs.
Divirta-se
Té +