Current time: 05-19-2024, 11:01 AM Hello There, Guest! (LoginRegister)


Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[REOPEN]Backup auf externem Server
Author Message
Darkside2009 Offline
Junior Member
*

Posts: 80
Joined: Nov 2009
Reputation: 1
Post: #1
[REOPEN]Backup auf externem Server
Ist es möglich die nächtlichen Backups die durch ISPCP erstellt werden diese auf einen externen Server erstellen zu lassen ?

IP, Benutzername und PW sind dafür vorhanden
(This post was last modified: 02-13-2010 05:11 AM by ZooL.)
02-10-2010 08:26 PM
Find all posts by this user Quote this message in a reply
TheCry Away
Member
***

Posts: 851
Joined: Oct 2008
Reputation: 21
Post: #2
RE: Backup auf externem Server
(02-10-2010 08:26 PM)Darkside2009 Wrote:  Ist es möglich die nächtlichen Backups die durch ISPCP erstellt werden diese auf einen externen Server erstellen zu lassen ?

IP, Benutzername und PW sind dafür vorhanden

Quick and dirty..
ich musste so was mal auf die schnelle erledigen...
Bin aber bis jetzt nicht dazu gekommen es anzupassen.
Hiermit werden die Dumps und die Webbackups noch einmal gepackt und per scp auf einen anderen Server verschoben...
Ich nutze dabei auch den Tagesnamen, damit ich immer 1 Woche Backups vorhanden habe.
Das ganze funktioniert aber nicht mit Username, Passwort sonder per AuthenticationKey!

Code:
#!/bin/bash

######################### Cronjob ###############################
#                                                               #
# 40 2 * * * /root/scripts/backup.sh                            #
#                                                               #
#################################################################


# Datenbank angaben
# Hostname oder IP des MySql-Servers
DBHOST="localhost";
# Benutzername und Passwort um auf deine Datenbank zu gelangen
DBUSER="root";
DBPASS="passwort";

# 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ür
# eine Woche rückwirkend erhalten.
filebase=`date +%a`

#DNS-NAME oder IP-Adresse des Backupservers
BS_ADDRESS="192.168.10.10"

#Username und Passwort fürr den Backupserver
BS_USERNAME="username"

#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.sql.bz2"
#echo "mysqldump $dateiname wird erstellt......";
#`mysqldump --all -e -l --add-drop-table --host=$DBHOST --user=$DBUSER --password=$DBPASS ispcp | /usr/bin/nice /usr/bin/bzip2 - > $BS_LOCAL_DIR$dateiname`

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 "Backup wird auf Backup-Storage kopiert......"
                `/usr/bin/scp $BS_LOCAL_DIR$dateiname $BS_USERNAME@$BS_ADDRESS:$BS_REMOTE_DIR`
                echo "Backup erfolgreich auf Backup-Storage kopiert......"
        fi
done
ZEITEND=`date +"%H:%M:%S"`
echo -e "-------------------- END BACKUP $ZEITEND --------------------\n\n"
exit
02-10-2010 09:18 PM
Find all posts by this user Quote this message in a reply
ZooL Offline
Moderator
*****
Moderators

Posts: 3,429
Joined: Jan 2007
Reputation: 79
Post: #3
RE: Backup auf externem Server
CLOSE
02-11-2010 05:23 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Darkside2009 Offline
Junior Member
*

Posts: 80
Joined: Nov 2009
Reputation: 1
Post: #4
RE: [REOPEN]Backup auf externem Server
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
02-13-2010 09:29 PM
Find all posts by this user Quote this message in a reply
maggot Offline
Junior Member
*

Posts: 33
Joined: Jan 2010
Reputation: 0
Post: #5
RE: [REOPEN]Backup auf externem Server
Nur zum verständnis:

in "zo" werden alle Daten abgelegt um von dort aus transferiert zu werden ?

das hilfs-script "charon.ftp" gibt es unter Ubuntu so nicht und ich habe das auch nicht finden können...

Ideen ?
03-31-2010 12:16 AM
Find all posts by this user Quote this message in a reply
Darkside2009 Offline
Junior Member
*

Posts: 80
Joined: Nov 2009
Reputation: 1
Post: #6
RE: [REOPEN]Backup auf externem Server
(03-31-2010 12:16 AM)maggot Wrote:  Nur zum verständnis:

in "zo" werden alle Daten abgelegt um von dort aus transferiert zu werden ?

das hilfs-script "charon.ftp" gibt es unter Ubuntu so nicht und ich habe das auch nicht finden können...

Ideen ?

charon.ftp war auch nur dafür gedacht um alte dateien auf dem backupserver zu löschen
03-31-2010 12:23 AM
Find all posts by this user Quote this message in a reply
maggot Offline
Junior Member
*

Posts: 33
Joined: Jan 2010
Reputation: 0
Post: #7
RE: [REOPEN]Backup auf externem Server
hmm und nun ?

bei mir werden die Backups zwar im "BS_LOCAL_DIR="/tmp/backups/"" abgelegt im Ordner
"zo" ist nichts zu finden und auf dem Backupserver auch nicht.

Sollte nicht sowohl der Temp Ordner als auch der BS_LOC... leer sein d.h. die werden nur als Temporäre Ablage genutzt oder wie soll ich das verstehen ?
Und warum sagt das Script sowas:

Alte Backups löschen.......
-------------------- NEXT LINE BACKUP 16:29:09 --------------------
/root/backups
awk: warning: escape sequence `\/' treated as plain `/'
Erstelle Backup _complete_backup_Tue_20100330-1629.tar.gz aus dem Verzeichnis /root/backups......
/bin/tar: Removing leading `/' from member names
/bin/tar: /root/backups/*: Cannot stat: No such file or directory
/bin/tar: Error exit delayed from previous errors
Datei _complete_backup_Tue_20100330-1629.tar.gz wird auf den Server übertragen........
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 45 0 0 0 45 0 1616 --:--:-- --:--:-- --:--:-- 0
Datei wurde erfolgreich übertragen......

/root/backups/ existiert mit den Rechten "755"
Übertragen wurde nix !!!...kratz am Kopf...

Edit: den awk Error habe ich mit: update-alternatives --config awk wegbekommen aber der Rest will nicht.
(This post was last modified: 03-31-2010 12:58 AM by maggot.)
03-31-2010 12:32 AM
Find all posts by this user Quote this message in a reply
Darkside2009 Offline
Junior Member
*

Posts: 80
Joined: Nov 2009
Reputation: 1
Post: #8
RE: [REOPEN]Backup auf externem Server
(03-31-2010 12:32 AM)maggot Wrote:  hmm und nun ?

bei mir werden die Backups zwar im "BS_LOCAL_DIR="/tmp/backups/"" abgelegt im Ordner
"zo" ist nichts zu finden und auf dem Backupserver auch nicht.

Sollte nicht sowohl der Temp Ordner als auch der BS_LOC... leer sein d.h. die werden nur als Temporäre Ablage genutzt oder wie soll ich das verstehen ?
Und warum sagt das Script sowas:

Alte Backups löschen.......
-------------------- NEXT LINE BACKUP 16:29:09 --------------------
/root/backups
awk: warning: escape sequence `\/' treated as plain `/'
Erstelle Backup _complete_backup_Tue_20100330-1629.tar.gz aus dem Verzeichnis /root/backups......
/bin/tar: Removing leading `/' from member names
/bin/tar: /root/backups/*: Cannot stat: No such file or directory
/bin/tar: Error exit delayed from previous errors
Datei _complete_backup_Tue_20100330-1629.tar.gz wird auf den Server übertragen........
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 45 0 0 0 45 0 1616 --:--:-- --:--:-- --:--:-- 0
Datei wurde erfolgreich übertragen......

/root/backups/ existiert mit den Rechten "755"
Übertragen wurde nix !!!...kratz am Kopf...

Edit: den awk Error habe ich mit: update-alternatives --config awk wegbekommen aber der Rest will nicht.

hier nun mal mein backup file wie es bei mir läuft : benenne die datei " backup_extern "
Code:
#!/bin/bash


# Datenbank angaben
# Hostname oder IP des MySql-Servers
DBHOST="localhost";
# Benutzername und Passwort um auf deine Datenbank zu gelangen
DBUSER=""; <---- Datenbank User eintragen meistens root
DBPASS=""; <---- Datenbank Passowrt eintragen

# ZIELORDNER Backupordner für alle Verzeichnise Z.B. /files
# Somit werden alle Backups des Jeweiligen Web's aus diesem Ordner gesammelt
zo="backups"
zo1="etc"
# 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ür eine Woche rückwirkend erhalten.
filebase=`date +%a`

#DNS-NAME oder IP-Adresse des Backupservers
BS_ADDRESS="" <---- IP des Backupservers

#Username und Passwort für den Backupserver
BS_USERNAME="" <------ Username:Passwort


#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 /
        do

if [ -d "$dir" ] ;
        then
        cd "$dir"
        cd "$zo1"
        ZEIT=`date +"%H:%M:%S"`
        echo -e "-------------------- NEXT LINE BACKUP $ZEIT --------------------"
        echo `pwd`
                verzeichnis=""
                dateiname=""
                dateiname=`pwd | awk -F '\/' '{ print $5 }'`
                verzeichnis=`pwd`
        dateiname="etc_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......";

fi

done

ZEITEND=`date +"%H:%M:%S"`
echo -e "-------------------- END BACKUP $ZEITEND --------------------\n\n";

exit

dies bezieht sich auf eine Debian Installation, evtl den Pfad zum ispcp ändern
03-31-2010 10:57 AM
Find all posts by this user Quote this message in a reply
maggot Offline
Junior Member
*

Posts: 33
Joined: Jan 2010
Reputation: 0
Post: #9
RE: [REOPEN]Backup auf externem Server
Danke, probier ich aus...aber heute nicht....erstmal Ostereier suchen Smile
04-04-2010 11:56 PM
Find all posts by this user Quote this message in a reply
maggot Offline
Junior Member
*

Posts: 33
Joined: Jan 2010
Reputation: 0
Post: #10
RE: [REOPEN]Backup auf externem Server
ups, da hab ich doch glatt das externe Backup verschludert....

Ich habe es gerade mit deinem Script ausprobiert, allerdings bekomme ich nun die Meldung :

curl: (6) Couldn't resolve host ''
Datei wurde erfolgreich übertragen......

aber es ist absolut nix auf dem Backupspace user und pass sollten richtig sein, das Netzwerk ist einwandfrei konfiguriert...komisch das alles.

In /backups/tmp/backups ist das DB-Backup und in /tmp/backups alles zusammen, übertragen wird leider nichts.

Edit: curl scheint wirklich keine Daten zu bekommen
curl -v4T $BS_LOCAL_DIR$dateiname ftp://$BS_USERNAME@$BS_ADDRESS
liefert:
* getaddrinfo(3) failed for :21
* Couldn't resolve host ''
* Closing connection #0

Mit Curl direkt auf der Konsole gehts.....
(This post was last modified: 05-18-2010 09:29 AM by maggot.)
05-18-2010 07:37 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)