Ich habe das ganze nun mal ein wenig bearbeitet so das ich die ISPCP DB auslese und davon ein backup erstelle.
Desweiteren werden die Ordner /var/www/ispcp/backups /var/www/virtual/ <----- dort alle backupordner gesichert
Code:
#!/bin/bash
######################### Cronjob ###############################
# #
# 40 2 * * * /root/scripts/backup.sh #
# #
#################################################################
# Datenbank angaben
# Hostname oder IP des MySql-Servers
DBHOST="localhost"; # ist meistens localhost oder trag eure IP ein
# Benutzername und Passwort um auf deine Datenbank zu gelangen
DBUSER="ISPCPUSER"; # dort den Benutzer für eure ISPCP-DB eintragen meistens root
DBPASS="euer Passwort"; # hier das root PW oder das ISPCP-Benutzer PW eintragen
# ZIELORDNER Backupordner für alle Verzeichnise Z.B. /files
# Somit werden alle Backups des Jeweiligen Web's aus diesem Ordner gesammelt
zo="backups"
# Zusatzangaben zum Backupfile. Hierfür kann Z.B. der Wochentag benutzt werden.
# In diesem Fall ist es Der wochentag mit date ermittelt. Somit bleiben Backups füine Woche rükend erhalten.
filebase=`date +%a_%Y%m%d-%H%M`
#DNS-NAME oder IP-Adresse des Backupservers
BS_ADDRESS="IP-Backup-Server" # hier eure IP für den Backup-Server eintragen
#Username und Passwort fün Backupserver
BS_USERNAME="Benutzername:Passwort" # hier euer Backup-Server Benutzername und Passwort eintragen
#Directory auf den Backupserver
BS_REMOTE_DIR="/backup/"
#Directory lokalen Server
BS_LOCAL_DIR="/tmp/backups/"
###############################################################################
# #
# Ab Hier bitte NICHTS mehr ändern Ohne genau kenntnisse was Du veränderst! #
# #
###############################################################################
ZEITSTART=`date +"%H:%M:%S"`
echo -e "-------------------- START BACKUP $ZEITSTART --------------------\n\n"
if [ -d $BS_LOCAL_DIR ]; then
echo "Directory exists"
else
`mkdir -p $BS_LOCAL_DIR`
fi
dateiname="ispcp_db_backup_""$filebase"".sql.bz2"
db_backup_file="ispcp_db_backup_""$filebase"".sql.bz2"
echo "mysqldump $db_backup_file wird erstellt......";
`mysqldump --all -e -l --add-drop-table --host=$DBHOST --user=$DBUSER --password=$DBPASS ispcp > $BS_LOCAL_DIR$db_backup_file | /usr/bin/nice /bin/bzip2 $BS_LOCAL_DIR$dateiname`
echo "Datei $dateiname wird auf den Server übertragen........";
curl -T $BS_LOCAL_DIR$dateiname ftp://$BS_USERNAME@$BS_ADDRESS
echo "Datei wurde erfolgreich übertragen......";
for dir in /var/www/ispcp/
do
if [ -d "$dir" ] ;
then
cd "$dir"
cd "$zo"
ZEIT=`date +"%H:%M:%S"`
echo -e "-------------------- NEXT LINE BACKUP $ZEIT --------------------"
echo `pwd`
verzeichnis=""
dateiname=""
dateiname=`pwd | awk -F '\/' '{ print $5 }'`
verzeichnis=`pwd`
dateiname="$dateiname""_complete_backup_""$filebase"".tar.gz"
echo "Erstelle Backup $dateiname aus dem Verzeichnis $verzeichnis......"
`/usr/bin/nice /bin/tar cfz $BS_LOCAL_DIR$dateiname $verzeichnis/*`;
echo "Datei $dateiname wird auf den Server übertragen........";
curl -T $BS_LOCAL_DIR$dateiname ftp://$BS_USERNAME@$BS_ADDRESS
echo "Datei wurde erfolgreich übertragen......";
fi
done
for dir in /var/www/virtual/*
do
if [ -d "$dir" ] ;
then
cd "$dir"
cd "$zo"
ZEIT=`date +"%H:%M:%S"`
echo -e "-------------------- NEXT LINE BACKUP $ZEIT --------------------"
echo `pwd`
verzeichnis=""
dateiname=""
dateiname=`pwd | awk -F '\/' '{ print $5 }'`
verzeichnis=`pwd`
dateiname="$dateiname""_complete_backup_""$filebase"".tar.gz"
echo "Erstelle Backup $dateiname aus dem Verzeichnis $verzeichnis......"
`/usr/bin/nice /bin/tar cfz $BS_LOCAL_DIR$dateiname $verzeichnis/*`;
echo "Datei $dateiname wird auf den Server übertragen........";
curl -T $BS_LOCAL_DIR$dateiname ftp://$BS_USERNAME@$BS_ADDRESS
echo "Datei wurde erfolgreich übertragen......";
ZEITEND=`date +"%H:%M:%S"`
echo -e "-------------------- END BACKUP $ZEITEND --------------------\n\n";
echo "Alte Backups löschen.......";
/usr/sbin/charon.ftp --host IP-Backupserver \
--user Backupserver-Benutzername \
--password Backupserver-Benutzerpasswort \
--all \
--maxage 1 \
--verbose \
echo "Alte Backups wurden erfolgreich gelöscht.......";
fi
done
exit
falls jemand dazu noch verbesserungen hat, kann er diese gerne vornehmen und hier posten