[FUG-BR] Script Backup em Mail/FTP/SCP/DVDRW/CDRW

Alfredo rootshell2 em gmail.com
Qui Mar 16 00:13:57 BRT 2006


Ola Fabricio!!!

Sempre achei muito importante compartilhar esse tipo de informação !

Quanto tempo voce leva para colocar tudo rodando novamente caso o seu
servidor
tivesse o HD queimado/estragado agora ?

Passei por essa experiencia e levei 30 minutos para colocar tudo no ar de
volta, ja que nao
tenho redundancia, veja o meu post aqui com a solucao de backup do HD
inteiro, qualquer problema eu so mudo o boot na bios e pronto!

http://freebsd-linux-admin.blogspot.com


On 3/15/06, Fabricio Lima <listas em fabriciolima.com.br> wrote:
>
> Gostaria de compartilhar com vcs um script q venho utilizado ha muito
> tempo.. e todo dia venho incrementando ele.
>
> vc pode jogar no cron uma entrada pra semanalmente executar:
> /usr/local/etc/backup.sh start
>
> a diretiva start executa: compress, rotate, upload e report.
>
> ele gera varios .tar.gz.. um pra configuracao, um pra homes, etc...
> a diretiva upload estah redefinida com um OR  junto com upload_ftp.. ou
> seja, se digitar backup.sh upload, ele ira fazer via ftp..
> se vc quer backup via email, chame explicitamente.. upload_mail...
>
> ou entao tire do lugar q está a diretiva upload default.
>
> lembrando q pra funcionar upload_scp vc tem q jogar as chaves publicas pra
> la e pra ca, a fim de acontecer a autenticacao nao interativa
>
> aceito comentarios.
>
> Fabricio Lima
> 'Scripiteiro proficionau'   :)
>
>
>
> #!/bin/sh
> BASE=/var/tmp
> HOST=192.168.231.2
> NETADMIN=netadmin@`hostname`
> USERNAME=anonymous
> PASSWORD=email@
> umask 027
>
> case "$1" in
> start)
> $0 rotate ; \
> $0 compress && \
> $0 upload ; \
> $0 report
> ;;
>
> compress)
> echo ' compacting...'
> tar zcpf ${BASE}/Backup-conf-`hostname`.tar.gz \
>   /usr/src/sys/i386/conf/MyKernel \
>   /etc /usr/local/etc \
>   /boot/loader.conf /boot/loader.rc \
>       /root \
>   /var/cron/tabs \
>   /var/named/etc/namedb \
>   /var/tmp/packages.info \
>   /usr/local/pgsql/data/*.conf \
>   /usr/local/lib/sasl/Sendmail.conf \
>   /usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf \
>   /usr/local/www/awstats/data /usr/local/www/awstats/cgi-bin/*.conf
> tar zcpf ${BASE}/Backup-db-`hostname`.tar.gz /usr/local/pgsql
> tar zcpf ${BASE}/Backup-www-`hostname`.tar.gz /usr/local/www
> --exclude=/usr/local/www/cgi-bin-dist/openwebmail/etc/users
> tar zcpf ${BASE}/Backup-mail-`hostname`.tar.gz /var/mail
> /usr/local/www/cgi-bin/openwebmail/etc/users
> tar zcpf ${BASE}/Backup-homes-`hostname`.tar.gz /root /usr/home
> ;;
>
> full)
> echo ' compacting entire system...'
> tar zcpf ${BASE}/Backup-`hostname`.tar.gz \
>   /etc /boot /bin /sbin /lib /libexec /usr /var /root /usr/home
> --exclude=${BASE} --exclude=/usr/ports
> ;;
>
> upload_mail)
> if [ -r ${BASE}/Backup-conf-`hostname`.tar.gz ]; then
>       echo ' sending email...'
>       for fileset in `/bin/ls ${BASE}/Backup*.tar.gz`
>       do
>          /usr/bin/uuencode $fileset `/usr/bin/basename $fileset` | \
>          /usr/bin/mailx -s "Backup Automatico" ${NETADMIN}
>       done
>    fi
>    ;;
>
> upload_dvdrw)
> if [ -r ${BASE}/Backup-conf-`hostname`.tar.gz ]; then
>       #echo ' generating image...'
>       #mkisofs -o /tmp/backup.iso -JrT /var/tmp/
>       umount /mnt/cdrom
>       echo ' erasing media...'
>       dvd+rw-format /dev/cdrom
>       echo ' burning media...'
>       growisofs -dvd-compat -Z /dev/cd0 -J -R /var/tmp
>       #growisofs -dvd-compat -Z /dev/cd0=/tmp/backup.iso
>       #rm -f /tmp/backup.iso
>
>    fi
>    ;;
>
> upload_cdrw)
> if [ -r ${BASE}/Backup-conf-`hostname`.tar.gz ]; then
>       echo ' generating image...'
>       mkisofs -o /tmp/backup.iso -JrT /var/tmp/
>       umount /mnt/cdrom
>       echo ' erasing media...'
>       cdrecord dev=0,0,0 -v speed=8 blank=all -force
>       echo ' burning media...'
>       cdrecord dev=0,0,0 -v speed=8 -eject -multi -data /tmp/backup.iso
>       rm -f /tmp/backup.iso
>
>    fi
>    ;;
>
> upload_scp)
> if [ -r ${BASE}/Backup-conf-`hostname`.tar.gz ]; then
>       echo ' uploading...'
>       /usr/bin/scp ${BASE}/Backup*.tar.gz ${USERNAME}@${HOST}:/var/tmp
>    fi
>    ;;
>
> upload|upload_ftp)
> if [ -r ${BASE}/Backup-conf-`hostname`.tar.gz ]; then
>       echo ' uploading...'
>       /usr/bin/ftp -ni ${HOST} << EOT
>          user ${USERNAME} ${PASSWORD}
>          binary
>          passive on
>          lcd /var/tmp
>          cd /temp
>          mput Backup*.tar.gz
>          bye
> EOT
>    fi
> ;;
>
> rotate)
> echo ' rotating old backups...'
> for tarball in `ls ${BASE}/Backup*.tar.gz`
> do
>   mv -f $tarball $tarball.old
> done
> ;;
>
> erase-all)
> echo ' erasing all...'
> rm -f ${BASE}/Backup*.tar.gz*
> ;;
>
> erase)
> echo ' erasing...'
> rm -f ${BASE}/Backup*.tar.gz
> ;;
>
> report)
> echo ' reporting...'
> ls -lh ${BASE}/Backup*.tar.gz | mail -s "Backup Automatico" ${NETADMIN}
> ;;
>
> verify)
> echo ' listing...'
> ls -lh ${BASE}/Backup*.tar.gz
> ;;
>
> stop)
> killall -9 tar && echo ' stoping...'
> ;;
>
> *)
> echo "Usage: `basename $0`
> {start|stop|compress|full|upload|verify|report|rotate|erase|erase-all}" >&2
> ;;
>
> esac
>
> exit 0
> _______________________________________________
> freebsd mailing list
> freebsd em fug.com.br
> http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
>
_______________________________________________
freebsd mailing list
freebsd em fug.com.br
http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br



Mais detalhes sobre a lista de discussão freebsd