#!/bin/bash -x # mejoras a realizar: # - comprobar la existencia del directorio destino con [ -d ]; # - utilizar /etc/mysql/debian.cnf para el usuario/password de mysql # ubicaciones path_backup_principal=/home/backups path_backup=$path_backup_principal/d4 fecha=`date +%Y%m%d%H%M%S` path_correo=/home/vmail/ path_mysql_trans=/var/log/mysql/ path_virtual_apache=/var/www/virtuals niveles_virtuales=1 # backup /etc tar zcpf $path_backup/etc.tar.gz /etc/* # backup /home (no el vmail, no el backups) for homes in `find /home/* -maxdepth 0 | grep -v ^$path_correo* | grep -v ^$path_backup_principal*` do tar zcpf $path_backup/home/`echo "$homes"|sed "s:.*/::"`.tar.gz $homes done # virtuales apache for virtuales in `find $path_virtual_apache -maxdepth $niveles_virtuales | sed "s:^\.::"` do tar zcpf $path_backup/apache/`echo "$virtuales"|sed "s:.*/::"`.tar.gz $path_virtual_apache$virtuales done # backup buzones correo cd $path_correo # el find con * está limitado a 1024 dominios!! # for buzon in `find * -maxdepth 1 -iname *@*` for buzon in `find . -maxdepth 2 -iname *@* | sed "s:^\.::" ` do tar zcpf $path_backup/mail/`echo "$buzon"| sed "s:.*/::"`.tar.gz $path_correo$buzon done # backup BBDD mysql for db in `mysql -u root -ptoor -e "show databases;" | grep -v ^Database$` do # mysqldump -u root -ptoor $db > $path_backup/$db.sql mysqldump -u root -ptoor $db | gzip -fc > $path_backup/sql/$db.sql.gz done tar zcf $path_backup/mysql.logs.tar.gz $path_mysql_trans # Listado soft instalado dpkg -l > $path_backup/software.installed.txt