Buonasera a tutti, ho avuto la necessità urgente di approntare uno script di backup per ISPconfig 3. Dato che molti sul forum apprezzano questo pannello, ho ritenuto opportuno postare il codice. In rete esistono molte varianti di script di backup per ISPconfig 3, tutte più o meno adattabili ma ritengo che uno script vada cucito su misura in base al sistema ed alle esigenze di chi lo userà. Quello che segue è un backup semplice, non incrementale, che crea un tar unico di tutti i db e delle cartelle vitali del sistema. Il restore lo posterò spero a breve appena ho tempo.
Codice:#!/bin/bash - #=============================================================================== # # FILE: ispconfig_backup.sh # # USAGE: ./ispconfig_backup.sh # # DESCRIPTION: Uno script per il backup di ISPconfig 3 # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Gagliardi Valentino - info at calabriaunix.org # CREATED: 13/12/2009 16:16:44 CET #=============================================================================== DIRECTORIES="/etc /usr /var" ESCLUDI="/home/cxunix/exclude_dir" ##il file che contiene le cartelle da escludere BACKUP_DIR="/home/cxunix/ispconfig_backup_$(date +%m_%d_%Y)" DBUSER="root" DBPASSWD="passdimysql" TAR="/bin/tar -vpcPSzf" ATAR="/bin/tar -pcPf" DUMP="/usr/bin/mysqldump" ####### ##START ####### function backup_cartelle { echo "Fermo Postfix..." /etc/init.d/postfix stop > /dev/null sleep 2 echo "Mi preparo al backup delle directory..." sleep 2 mkdir $BACKUP_DIR echo "Eseguo il backup, attendere,output scritto su $(date +%m_%d_%Y).log" $TAR $BACKUP_DIR/ispback_$(date +%m_%d_%Y).tar.gz $DIRECTORIES --exclude-from=$ESCLUDI > $BACKUP_DIR/$(date +%m_%d_%Y).log } function backup_database { echo "Eseguo il backup dei database..." sleep 2 ## dump del database di ISPconfig $DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords dbispconfig > $BACKUP_DIR/dbispconfig.sql ## Da qui in avanti possono essere dichiarati tutti i database di cui volete eseguire il backup $DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords database1 > $BACKUP_DIR/database1.sql $DUMP -u$DBUSER -p$DBPASSWD --add-drop-table --add-locks --lock-tables --quick --allow-keywords database2 > $BACKUP_DIR/database2.sql } function arch { echo "Creo un archivio totale..." sleep 2 $ATAR $BACKUP_DIR.tar $BACKUP_DIR echo "Pulisco..." sleep 2 rm -rf $BACKUP_DIR } function postfix_restart { echo "Riavvio postfix." sleep 2 /etc/init.d/postfix start > /dev/null echo "Backup eseguito." } backup_cartelle && backup_database && arch && postfix_restart
Il file exclude_dir è così composto :
Critiche, modifiche, commenti sono bene accetti. Saluti.Codice:/usr/sbin/* /usr/bin/* /usr/share/man/* /usr/share/doc/* /var/backups/ /var/cache/* /var/run/* /var/lock/* /var/opt/* /var/tmp/* /var/lib/amavis/* /var/spool/postfix/dev/log /var/spool/postfix/public/* /var/spool/postfix/private/* /var/spool/postfix/var/run/*


LinkBack URL
About LinkBacks


Rispondi Citando


Segnalibri