• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Sichern einer mySQL-Datenbank

martino15

Idared
Registriert
04.12.06
Beiträge
24
Hallo,

ich habe ein Problem, was hier im Prinzip sicher schon tausendmal rauf- und runtergebetet wurde, möchte mir aber als MAC- und Unix-Anfänger nicht alles mühsam selber zusammensuchen. Nett, wenn jemand helfen würde!
Also:
Ich möchte eine mySQL-Datenbank täglich vom System sichern lassen, und zwar so, dass die Sicherungen in einem Verzeichnis landen (/Dokuments/backup), dass sich mit dem Finder erreichen und dann manuell auf CD brennen lässt.
Wichtig wäre es, wenn man die Uhrzeit definieren kann, da der Rechner nicht 24 Stunden läuft. Ein Tolles add-On wäre noch eine kleine tägliche Systempflege ...
Im Prinzip sollte dass ja mit diesen sagenhaften Cron-Jobs machbar sein. Das Sichern der Datenbank kriege ich mit mysqldump wahrscheinlich hin, aber der Rest ist schon etwas schwerer er Stuff!

Danke schon mal!

OS-Version: OS/X, 10.4
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Code:
 #!/bin/sh
 
 # This script creates a hot copy of the mysql data files.
 #echo "creating mysql dump"
 
 #echo "   removing old dumps and creating directory"
 mkdir -p /home/DEINUSER/Documents/backup
 rm /home/DEINUSER/Documents/backup/all.dump
 
 #echo "   executing mysqldump"
 mysqldump -A --add-locks -u root --password=DEINPASSWORD > /home/DEINUSER/Documents/backup/all.dump

dann
Code:
crontab -e
Inhalt:
Code:
# m     h       day     mon     weekday command
0       22      *       *       *       /pfad/zu/dem/script >> /dev/null         2>&1

Script sollte grob chmod 700 haben damit es sich ausführen lässt

P.S. Alles ohne gewähr, hab cron auf dem Mac selbst noch nie benutzt ;)
 

martino15

Idared
Registriert
04.12.06
Beiträge
24
na dann ...

Code:
 #!/bin/sh
 
 # This script creates a hot copy of the mysql data files.
 #echo "creating mysql dump"
 
 #echo "   removing old dumps and creating directory"
 mkdir -p /home/DEINUSER/Documents/backup
 rm /home/DEINUSER/Documents/backup/all.dump
 
 #echo "   executing mysqldump"
 mysqldump -A --add-locks -u root --password=DEINPASSWORD > /home/DEINUSER/Documents/backup/all.dump

dann
Code:
crontab -e
Inhalt:
Code:
# m     h       day     mon     weekday command
0       22      *       *       *       /pfad/zu/dem/script >> /dev/null         2>&1

Script sollte grob chmod 700 haben damit es sich ausführen lässt

P.S. Alles ohne gewähr, hab cron auf dem Mac selbst noch nie benutzt ;)
Hallo Zeno,

vielen Dank für die schnelle Antwort! Ohne Gewähr ist sowieso klar! Schliesslich ist jeder selber dafür verantwortlich, was er auf seinem Computer anstellt.;)
Dein Script verstehe ich einigermassen, denke, dass es passt. Dann wird es mir allerdings etwas rätselhaft. Kann ich den crontab -e Befehl aus dem bash heraus absetzen? Wie gesagt - Anfänger - . Und wie trage ich die Werte ein?
Wenn ich dein Beispiel richtig verstanden habe, dann läuft der Job jeden Tag um 22:00 Uhr. Stimmt das?
Leider kann ich hier auch nichts testen, da ich gerade mit einem Windows-Rechner arbeite.

Danke für weitere Hilfe
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
genau, aus dem Terminal heraus. Der Parameter -e sorgt dafür das die crontab im Editor geöffnet wird. Die Werte können durch Leerzeichen getrennt werden, tabs finde ich aber persönlich übersichtlicher.
Jepp täglich um zehn, kannste beliebig ändern.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Beim mysqldump würde ich die Option --quick verwenden, damit er die Tabellen nicht erst komplett in den Speicher lädt.

Für periodische Jobs ist ab 10.4 launchd zu empfehlen, denn cron ist deprecated.
 

martino15

Idared
Registriert
04.12.06
Beiträge
24
Beim mysqldump würde ich die Option --quick verwenden, damit er die Tabellen nicht erst komplett in den Speicher lädt.

Für periodische Jobs ist ab 10.4 launchd zu empfehlen, denn cron ist deprecated.

Ok, vielen Dank für die Präzisierung!:-D

Stellt sich nur noch die Frage, wie man die Werte für cron bzw. launchd einträgt.

Daneben habe ich auch noch andere (wahrscheinlich eher simple bis banale) Fragen, die damit nichts zu tun haben: Wie führe ich Skripte aus dem bash heraus aus? Und wie kann ich ein Skript auf dem Desktop ausführbar machen?

Dankbar für Antworten