Salve,
consapevole che lo script proposto nel post precedente relativamente al backup di ISPconfig può non funzionare su tutti i sistemi senza opportune modifiche, ho approntato una soluzione più veloce e semplice basata su rsync.

DISCLAIMER : il seguente script non è testato o comunque adatto su sistemi in produzione. Declino ogni responsabilità per eventuali danni.


Assumendo che A sia la macchina su cui è montato ISPconfig e B la macchina su cui si vuole salvare il backup, creiamo su B il seguente script :

Codice:
#!/bin/bash
DIR="/root"
RSYNC="/usr/bin/rsync -avp"
HOST="xxx.xxx.xxx.xxx" ##l'ip della macchina con ISPconfig

etc ()
{
    $RSYNC -e"ssh" $HOST:/etc/ $DIR/etc
}

usr ()
{
    $RSYNC -e"ssh" $HOST:/usr/ $DIR/usr --exclude-from=$DIR/ESCLUDIusr
}


var ()
{
    $RSYNC -e"ssh" $HOST:/var/ $DIR/var --exclude-from=$DIR/ESCLUDIvar
}

db ()
{
    $RSYNC -e"ssh" $HOST:/root/db_backup.tar $DIR
}

#
#start
#

etc && usr && var && db
ed installiamo rsync su entrambe le macchine.
Le opzioni passate a rsync contengono direttive su alcune cartelle da ignorare durante il trasferimento (contengono file di lock ed altri file che non sono essenziali nel restore del sistema) e sono :

Codice:
--exclude-from=$DIR/ESCLUDIusr
e

Codice:
--exclude-from=$DIR/ESCLUDIvar
Il file ESCLUDIusr conterrà le seguenti righe :

Codice:
include/
sbin/
bin/
share/man/*
share/doc/*
vim/
terminfo/
keymaps/
lib/
X11R6/
games/
consolefonts/
consoletrans/
tcltk/
il file ESCLUDIvar invece conterrà le seguenti righe :

Codice:
backups/
lib/apt/
cache/
run/
lock/
opt/
tmp/
lib/amavis/
spool/postfix/dev/log
spool/postfix/public/
spool/postfix/private/
spool/postfix/var/run/
per terminare con la macchina B inseriamo il seguente job in crontab (esegue il backup alle 20:35 ogni giorno)

Codice:
35 20 * * * sh /root/back_ispconfig.sh
Adesso passiamo alla macchina A. Creiamo il seguente script :

Codice:
#!/bin/bash

BACKUP_DIR="/root/db_backup"
DBUSER="root"
DBPASSWD="mypass" ##la password di mysql
TAR="/bin/tar -cPf"
RM="/bin/rm -rf"
DUMP="/usr/bin/mysqldump"

#######
##START
#######


backup_database()

{

mkdir $BACKUP_DIR
echo "Eseguo il backup dei database..."
sleep 2
$DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords dbispconfig > $BACKUP_DIR/dbispconfig.sql

$DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords database2 > $BACKUP_DIR/database2.sql

$DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords database1 > $BACKUP_DIR/database1.sql
echo "Creo archivio dei database..."
sleep 2
$TAR $BACKUP_DIR.tar $BACKUP_DIR && $RM $BACKUP_DIR
}

backup_database
perchè ho separato le due parti del backup? Sulla macchina A non sono consentiti accessi remoti ai database dunque è preferibile creare i dump in locale e poi trasferirli. Sulla macchina A inseriamo il job relativo al dump dei database (esegue il dump alle 20:30 ogni giorno) :

Codice:
30 20 * * * sh /root/backup_db.sh
A questo punto possiamo lasciare fare in autonomia alle due macchine, mentre A creerà i dump dei database, cinque minuti dopo la macchina B preleverà i file aggiornati creando un backup aggiornato del sistema.

Gli script sono espandibili e personalizzabili.

Considerazioni : ISPconfig è un ottimo pannello ma la mancanza di una procedura per il backup integrata direttamente nel sistema rappresenta una grave lacuna.

Saluti.