PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup via Mail



urias
05.05.07, 19:13
Hallo,

ich suche eine Möglichkeit, eine Datei (Datenbankdump) in auf mehrere gleich große Dateien zu verteilen.
Diese will ich dann per Mail versenden.
Das skript ansonsten ist fertig, es fehlt nur noch das aufteilen der Datei in gleich große Elemente.
Hat da wer von euch eine Idee?
ich stehe da seit einigen Tagen auf dem Schlauch, und komme auch mit google und co nicht weiter.

Es müßte meines Wissens nach auch mit tar direkt gehen, wurde mir auch schon mehrfach von Kollegen gesagt, leider fällt keinem eine konkrete Umsetzung ein.

ich habe einen Kunden, der einen mittelgroßen Webshop und ein Forum betreibt, aber es nicht hinbekommt sich Backups zu ziehen.
Meine Idee war nun, ihm diese Backups per Mail zu senden, zerlegt in 5 MB Portionen, er ordnet sie unter gmx in ein Verzeichnis, indem alle Mails älter als eine Woche gelöscht werden.
Will er die Dateien dann doch einmal wiederherstellen, kann er einfach die einzelstücke einer Serie wieder zusammensetzen.

lg
urias

403
05.05.07, 20:59
Das skript ansonsten ist fertig, es fehlt nur noch das aufteilen der Datei in gleich große Elemente.

Das sollte mit split funktionieren. Wie sieht denn das Script bisher aus?

urias
06.05.07, 16:04
ich habe den code gerade nicht zur Hand, der Aufbau ist ganz simple.

Es legt ein Verzeichnis an, dass backup+datum des heutigen Tages hat
kopiert da alle Dateien der Webpräsens rein(cp -rpa),
ruft mysqldump auf und pack das ergebnis in eine datei die ebenfalls das Tagesdatum trägt
verpackt dass ganze in ein tar.archiv mit bzip2 kompression
berechnet eine Checksumme
versendet per mail eine Backupbenachrichtigung

poste später nochmal das gesamte Skript

werde mir das split manual mal durchlesen sobald ich wieder daheim bin, danke :)

EDIT: Tippfehler

urias
08.10.07, 16:21
Hi,

also bevor ich nun wieder lange Zeit garnichts mache, hier erstmal, was ich bisher habe.




#Verzeichniss anlegen fuer Backup
mkdir -p /home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`

#
#Daten sammeln
#
mysqldump -u root -pPASSWORT --all-databases >/home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`/Daten
banken_webseiten`date +%Y%m%d`Stunde`date +%H`.sql
cp -rpa /var/kunden/webs/webseiten/www/ /home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`

#
#Daten packen
#
tar -cjf /home/backup/tagesbackup_webseiten`date+%Y%m%d`Stunde`date +%H`.tar.bzip2 /home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`md5sum /home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`.tar.bzip2 >
/home/backup/md5sum_backup_`date +%Y%m%d`Stunde`date +%H`.tar.bzip2.md5sum

#
#an den richtigen Ort

#
mv /home/backup/tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`.tar.bzip2 /var/kunden/webs/webseiten/backups/
mv /home/backup/md5sum_backup_`date +%Y%m%d`Stunde`date +%H`.tar.bzip2.md5sum /var/kunden/webs/webseiten/backups/

#
#Dateien verteilen
#

#Mails raus mit Backups als Anhang
#echo "Das neue Backup ist da, bitte lade es runter" | mail -s "tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`" patrick.bloy@gmx.de "rst"
#Teile per Mail verteilen
#for file in *.tar.bzip2.part*;
#do ziel= mpack
#done



#
#Statusseite
#
#alte Datei loeschen
rm /var/kunden/webs/webseiten/www/status/index.html
rm /tmp/ftp_tmp.txt

#ftp status auslesen
sh /home/skripte/ftp_list.sh >> /tmp/ftp_tmp.txt

#html Datei erzeugen
echo "<html>" >> /var/kunden/webs/webseiten/www/status/index.html
echo "<head>" >> /var/kunden/webs/webseiten/www/status/index.html
echo "<title>Backupseite</title>" >> /var/kunden/webs/webseiten/www/status/index.html
echo "</head>" >> /var/kunden/webs/webseiten/www/status/index.html
echo "<body>" >> /var/kunden/webs/webseiten/www/status/index.html

cat /tmp/ftp_tmp.txt |sed 's/:/\n/g' |grep tagesbackup |sed 's/.bzip2/.bzip2<br>/g' >> /var/kunden/webs/webseiten/www/status/index.html

echo "<br><br> <h3>This file was updated at `date`.</h3> " >> /var/kunden/webs/webseiten/www/status/index.html
echo "</html>" >> /var/kunden/webs/webseiten/www/status/index.html
#
echo "alles fertig"

#auf ftp-Backupserver schieben
ftp -n <<EOF
open IP_FTPSERVER
user USER PASSWORD
lcd /var/kunden/webs/webseiten/backups/
put tagesbackup_webseiten`date +%Y%m%d`Stunde`date +%H`.tar.bzip2
put md5sum_backup_`date +%Y%m%d`Stunde`date +%H`.tar.bzip2.md5sum
bye
echo "ok";


ftpliste.sh


ftp -n <<EOF
open IP
user USER PASSWORD
ls -h
bye



Das Mailversenden mit vorigen verschlüsseln und "zerstückeln" fehlt leider immernoch*asche auf mein Haupt*

Gruß
urias