# Cron



## saila (2. Mai 2006)

Hi,

ich beschäftige mich zum ersten mal mit dem Thema Cronjobs.

Hierzu habe ich ein Beispiel von 1&1

# Sichere am 1. jeden Monats 
# um 1 Uhr Nachts die Gästebuchdatei gaestebuch.cgi
# im Verzeichnis /backup
0 1 1  *  *  cp /homepages/12/d12345678/htdocs/gaestebuch.cgi /homepages/12/d12345678/htdocs/backup/

Es gibt eigens eine Software dafür, um diesen Befehl anzulegen.

Aber einige Fragen sind mir unklar bzw. hätte ich gerne zuvor geklärt.
(Achso, ich möchte nicht zu einem Service verwiesen werden, welche diese Arbeiten kostenlos anbietet)

Ich möchte obigens Beispiel für ein Mysql-Backup verwenden und zwar für drei Datenbanken.

a) Gibt es irgendwo eine Aufstellung, wie das ganze abläuft. 
b) Wie geht man am besten vor?
c) habe mysqldump installiert. Kann der Cron auch auf phpmyadmin zugreifen und wenn wie?

Danke für die Hilfe vorab.


----------



## thetrue (2. Mai 2006)

also ich denke es läuft vollgender massen:
es läuft auf dem sevrer ein programm(cleint), der nach bestimten zeit abständen irrgend eine function erledigt ... diese fuctionen köönnen in einer datei gespeicher werden ... dannn schreibt man mit php irrgedn etwas zu und das programm hat neune aufgabe


----------



## birnkammer (2. Mai 2006)

Hi,


			
				saila hat gesagt.:
			
		

> a) Gibt es irgendwo eine Aufstellung, wie das ganze abläuft.


Es kommt immer darauf an, welches Programm du verwendest. Einen Überblick bekommst du schon einmal auf http://de.wikipedia.org/wiki/Cron
und hier noch 2 Tutorials dazu: 

Cron-Tutorial bei newbie-net.de
Cron-Tutorial bei selflinux.org



			
				saila hat gesagt.:
			
		

> b) Wie geht man am besten vor?


Eine PHP-Datei mit den gewünschten Befehlen erstelln und vom Cronjob ausführen lassen 


			
				saila hat gesagt.:
			
		

> c) habe mysqldump installiert. Kann der Cron auch auf phpmyadmin zugreifen und wenn wie?


Ja, würde gehen ist aber umständlich, mit einem Cron kannst du aber normalerweise mysqldumpp direkt aufrufen. Wenns nicht geht einfach wieder eine Datei mit den gewünschten erstellen. PHPMyAdmin wäre hier zu umständlich, da man hierbei HTTP-Posts simulieren muss, um die Anmeldung und Formulardaten zu simulieren


----------



## Arne Buchwald (2. Mai 2006)

N'Abend,

das einzig sinnvolle Vorgehen ist ein kleines Bash-Script, das mysqldump und ggf. cp / scp aufruft:

```
#!/bin/bash
DATE=`/bin/date +%b%d-%Y`

# 1: DB-Name
# 2: Zielpfad

# Parameter -l (lock) entfernt
cd $1;/usr/bin/mysqldump -B $2 -c -h localhost --password=foo -u root > $DATE.sql
```

Das Script kannst du beliebig abwandeln ...


----------



## saila (3. Mai 2006)

Hi und vielen Dank für die sehr nützlichen Antworten!

Nachdem ich mich in die Thematik (zugegeben) erst noch oberflächlich eingelesen habe, gibt es zumindest für mich das erste Problem.

Es gibt 3 Datenbanken die über den gleichen Server erreichbar sind. Mit mysqldump wären drei Verzeichnisse notwendig, um jeweils eine Sicherung per Cron zu ermöglichen.

Hat hier jemand hierzu Erfahrung oder einen möglichen Lösungsansatz?


----------



## Arne Buchwald (3. Mai 2006)

saila hat gesagt.:
			
		

> Es gibt 3 Datenbanken die über den gleichen Server erreichbar sind. Mit mysqldump wären drei Verzeichnisse notwendig, um jeweils eine Sicherung per Cron zu ermöglichen.


Wie kommst du darauf? Guck' dir mal die Ausgabe von

```
mysqldump --help
```
an. Achte dort mal auf den Parameter *database* ...


----------

