Page 1 of 1

Backup per Cron

Posted: 2005-12-09 11:12
by afrika123
Suche eine gute Möglichkeit ein Backup per Cron zu erstellen.
Per ssh geht es ja schon recht gut, aber nun möchte ich das gerne automatisieren.
Soetwas in der Richtung hatte ich gedacht:

Code: Select all

tar cvfz backup$date.tar.gz /der/zu/sichernde/ordner/
und die Datenbank mit

Code: Select all

mysqldump -hlocalhost -udeinUser -pdeinPasswort deineDB > db$date.sql
kennt da jemand eine schöne Möglichkeit?
Ich möchte auf ein komplettes Sicherungsprogramm verzichten, und nur komplette Datensätze sichern.

Re: Backup per Cron

Posted: 2005-12-09 13:38
by Roger Wilco
afrika123 wrote:kennt da jemand eine schöne Möglichkeit?
Pack die von dir genannten Kommandos in ein Shellskript.

Re: Backup per Cron

Posted: 2005-12-09 14:51
by tobiask
so sichere ich:

/home komplett:

Code: Select all

tar czf - /home 2>/dev/null | split -b 50000k - /home/backup/home_backup.tar.gz

mysql:

Code: Select all

mysqlhotcopy --flushlog -u root --password=rootpasswort --regexp=usr_web?_? -allowold /home/mysqlbackup

mysql geht auch so z.b.:

Code: Select all

DATUM=`date +%d-%m`
mysqldump --databases usr_web1_2 -uroot -ppasswort -C -x -F --opt > mysqldumb.$DATUM.web2.sql;
musst natürlich passwörter und datenbanknamen etc anpassen ;)

Re: Backup per Cron

Posted: 2005-12-10 01:05
by afrika123
Tobiask wrote:so sichere ich:

/home komplett:

Code: Select all

tar czf - /home 2>/dev/null | split -b 50000k - /home/backup/home_backup.tar.gz

mysql:

Code: Select all

mysqlhotcopy --flushlog -u root --password=rootpasswort --regexp=usr_web?_? -allowold /home/mysqlbackup

mysql geht auch so z.b.:

Code: Select all

DATUM=`date +%d-%m`
mysqldump --databases usr_web1_2 -uroot -ppasswort -C -x -F --opt > mysqldumb.$DATUM.web2.sql;
musst natürlich passwörter und datenbanknamen etc anpassen ;)
Das sieht schon super aus. :-D
Shell Script? Vielleicht mal ein Beispiel posten.

Re: Backup per Cron

Posted: 2005-12-10 09:46
by daemotron
Shell Script? Vielleicht mal ein Beispiel posten.
Wie der Name schon sagt, sind Shell-Skripte nichts anderes als eine Abfolge von Shell-Befehlen (zwar kann man prinzipiell noch ein bisschen mehr damit machen, aber für den Anfang sollte das reichen 8) ). Du musst nur in der ersten Zeile den Interpreter für das Script angeben, hier im Beispiel /bin/sh - musst Du eben an Dein System anpassen. Danach einfach die Shell-Befehle reinpacken - fertig.

Code: Select all

#!/bin/sh

#Dateien sichern
tar czf - /home 2>/dev/null | split -b 50000k - /home/backup/home_backup.tar.gz

#Datenbank sichern
mysqlhotcopy --flushlog -u root --password=rootpasswort --regexp=usr_web?_? -allowold /home/mysqlbackup

Re: Backup per Cron

Posted: 2005-12-10 16:23
by captaincrunch
...und am allerbesten lernst du dabei direkt von Anfang an, mit absoluten Pfaden zu arbeiten.

Re: Backup per Cron

Posted: 2005-12-11 13:28
by afrika123
Habe die Datei nun backup.sh genannt chmod 755, allerdings command unknown kommt als Antwort.
Muss die datei denn in einem bestimmten verzeichnis liegen?

Re: Backup per Cron

Posted: 2005-12-11 13:51
by tobiask
afrika123 wrote:Habe die Datei nun backup.sh genannt chmod 755, allerdings command unknown kommt als Antwort.
Muss die datei denn in einem bestimmten verzeichnis liegen?
verzeichniss ist egal

probier mal

Code: Select all

 chmod 0755 backup.sh
und dann kannste eigentlich problemlos mit

Code: Select all

sh ./backup.sh
aufrufen.

Re: Backup per Cron

Posted: 2005-12-11 16:13
by afrika123
Supi.
Das funktionierte schonmal gut ;)
Wie mache ich nun einen cron draus?
also den Aufruf
0 1 * * *usr/web/html/backup/sh ./backup.sh

Re: Backup per Cron

Posted: 2005-12-11 16:20
by tobiask
afrika123 wrote:Supi.
Das funktionierte schonmal gut ;)
Wie mache ich nun einen cron draus?
also den Aufruf
0 1 * * *usr/web/html/backup/sh ./backup.sh

so für zb alle 2 tage:

Code: Select all

* * */2 * * sh /pfad/zum/script/backup.sh

Re: Backup per Cron

Posted: 2005-12-12 11:20
by afrika123
Das hat jetzt hervorragend geklappt.
Nun kommt der 2.te Teil, die Sicherung mit FTP.
Ich möchte nun die Daten per Cron auf einen FTP Server legen.
FTP = backup@domain.de passwort = "pas***rt"
Kann ich das auch mit so einem Shellscript machen oder bietet sich da php an?
Die Datei vom Vortag sollte dann ebenfalls gelöscht werden.
DATUM=`date +%d-%m`
DATUM_DEL = $DATUM-"1" oder so in der Richtung
del mysqldumb.DATUM_DEL.web2.sql;

Re: Backup per Cron

Posted: 2005-12-12 12:26
by aubergine
Schau dir mal sitecopy an

Re: Backup per Cron

Posted: 2005-12-12 13:29
by metrax
Tobiask wrote: mysql geht auch so z.b.:

Code: Select all

DATUM=`date +%d-%m`
mysqldump --databases usr_web1_2 -uroot -ppasswort -C -x -F --opt > mysqldumb.$DATUM.web2.sql;
Wo wir gerade mal beim Thema MySQL mit Datumspfaden backuppen sind ...


kenn jemand ne Möglichkeit das alle Backups die Ã?lter als ne Woche sind zu entfernen, ohne jetzt groß mit PHP und Perl rumhantieren zu müssen?

Re: Backup per Cron

Posted: 2005-12-12 17:26
by Roger Wilco

Code: Select all

find /path/to/backups -ctime +7 -name *.sql -exec rm {} ;
Wenn es sehr viele Dateien sind, eventuell noch ein xargs dahinterknallen.

Re: Backup per Cron

Posted: 2005-12-12 18:43
by tobiask
ftp transfer mache ich so:

ne .netrc anlgenen und ftp login daten rein

im cron so:

Code: Select all

ftp < /home/ftptrans > /dev/null
in der datei ftptrans:

Code: Select all

open webmaster-eye.de
cd mynpbackups
prompt
lcd /home/backup
mput mysql*
mput dum*
close
open backup92.pureserver.info
lcd /home/backup
mput *_backup*
mput dum*
close
exit

und zum löschen:

Code: Select all

#! /usr/bin/sh
for dir in /home/backup
do
  if   [ -d $dir ]
  then   find $dir -type f -mtime +7 -exec rm {} ;
  fi
done
exit

Re: Backup per Cron

Posted: 2005-12-13 15:40
by afrika123
Nun habe ich das mal so gemacht.

Code: Select all

tar cvfz backup_daten_server.$DATUM.tar.gz /srv/www/htdocs/web1/datensicherung/

ftp -in <<EOF
open backup.serverkompetenz.de
user usernummer passwort
bin


cd /stratobackup

put backup_daten_server.$DATUM.tar.gz
Nun habe ich einen upstream von 23kb. Normal sind es so 5 MB
Woran kann das nun wieder liegen?

Re: Backup per Cron

Posted: 2005-12-13 16:09
by tobiask
Nun habe ich einen upstream von 23kb. Normal sind es so 5 MB
Woran kann das nun wieder liegen?
vielleicht war der server grad überlastet, teste doch nochma

Re: Backup per Cron

Posted: 2005-12-13 20:56
by afrika123
Das wars wohl, nun geht es wieder.