PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CroneJob auf PhP



Papaschlumpf
15.09.02, 16:54
Kann man einen CronJob auch auf einem phpBackup machen ich möchte meien Datenbank sichern lassen automatisch, wie kann ich das mit nem Crone machen




Gruss


Papas

wd
15.09.02, 19:28
wenn ich dich richtig verstanden habe, möchtest du wohl eine MySQL-DB sichern.
Schreibe dir dazu ein Script mit folgendem Inhalt und trage den Namen des Scripts in der crontab ein (crontab -e):

----------------------Script backup.sh----------------------------------------
/usr/local/mysql/bin/mysqldump -u root datenbank_1 > /home/Papaschlumpf/sicherung/datenbank_1.sql
/usr/local/mysql/bin/mysqldump -u root datenbank_2 > /home/Papaschlumpf/sicherung/datenbank_2.sql
/usr/local/mysql/bin/mysqldump -u root datenbank_n > /home/Papaschlumpf/sicherung/datenbank_n.sql
--------------------------------------------------------------------------

----------------------crontab-Eintrag-----------------------------------------
# MySQL-DB's um 3.47 jeden Tag sichern
47 3 * * * /home/Papaschlumpf/backup.sh
--------------------------------------------------------------------------


Ich hoffe, es ist das, was du willst.

Papaschlumpf
15.09.02, 20:27
und wie erstelle ich eine SH datei ???? sorry ich bin neu bei ÖLinux und weis noch nciht alt so viel


Papas

Ach so ja ich habe suse 8.0

Beatmaster
15.09.02, 21:51
mit einem ganz normalen Editor, wie z.B. vi(m), Kedit, KWrite, ...

Da schreibst Du dann die Befehle rein und speicherst es unter diesem oder einem andern Namen ab.
Auch die Dateiendung .sh ist nicht von Relevanz, sondern dient ausschliesslich der Menschlichen lesbarkeit (und kann daher auch weggelassen werden).

Nach dem Abspeichern kann es noch sein, dass Du die Dateirechte umändern musst (chmod u+x Dateiname).
Daran entscheidet sich nämlich, ob die Datei ausführbar ist oder nicht!

Michael

Papaschlumpf
15.09.02, 22:37
Das ist schon mal das was ich machen wollte, nun habe ich aber das problem, das ich die Datenbanken habe, doch leider sind die alle leer,


und wie kann ich die rechte setzen, u+x ????



Papas

P.s.: bekomme das als ausgabe


Ausgabe des Befehls /sicherung/sicherung.pl ..

/sicherung/sicherung.pl: /var/lib/mysql: is a directory
/sicherung/sicherung.pl: /var/lib/mysql: is a directory
/sicherung/sicherung.pl: /var/lib/mysql: is a directory
/sicherung/sicherung.pl: /var/lib/mysql: is a directory
/sicherung/sicherung.pl: /var/lib/mysql: is a directory

wennich es mit dem Cronjob ausführe

Beatmaster
15.09.02, 22:43
wie sieht denn "sicherung.pl" aus?

Papaschlumpf
15.09.02, 22:53
EIgendlich nur angepasst zu dem was oben steht
Die rechte dind auf 777 gesetzt, in dem Ordner sicherung

/var/lib/mysql -u root support > /sicherung/support.sql
/var/lib/mysql -u root rotor > /sicherung/rotor.sql
/var/lib/mysql -u root 86 > /sicherung/86.sql
/var/lib/mysql -u root funtasy > /sicherung/funtasy.sql
/var/lib/mysql -u root confixx > /sicherung/confixx.sql




Kannst du mir bitte uahc gleich ncohmal mit dazu sagen, wie ich es machen kann ein volles verzeichniss zu sichern z.b.: /papaschlumpf/*

Beatmaster
15.09.02, 23:04
und da haben wir auch den Grund für die Fehlermeldung ;)

Du rufst nicht das Programm 'mysqldump', sondern das Verzeichnis'/usr/lib/mysql' auf, um irgendetwas zu tun!
Nun, Verzeichnisse können nicht viel tun!

tippe mal in einer Shell whereis mysqldump ein und ersetze mit dem Ergebnis (vollständiger Pfad zu mysqldump) /usr/lib/mysql in Deinem Script ...


Ein Backup Deines Sicherungsverzeichnises könntest Du mit dem Tool tar bewerkstelligen:
tar cfv /pfad/zur/Datei.tar /sicherung/

Michael

Beatmaster
15.09.02, 23:08
Problematisch: Du hast beim MySQL-Server kein root-Passwort vergeben?!

Das ist nicht ungefährlich!

Michael

Papaschlumpf
15.09.02, 23:11
wie bekomme ich das denn da rein ??? #




Nun bekomme ich die meldung

/usr/bin/mysqldump: Can't get CREATE TABLE for table '
' (Table 'support.
' doesn't exist)
/usr/bin/mysqldump: Can't get CREATE TABLE for table '
' (Table 'rotor.
' doesn't exist)
/usr/bin/mysqldump: Can't get CREATE TABLE for table '
' (Table '86.
' doesn't exist)
/usr/bin/mysqldump: Can't get CREATE TABLE for table '
' (Table 'funtasy.
' doesn't exist)
/usr/bin/mysqldump: Can't get CREATE TABLE for table '
' (Table 'confixx.
' doesn't exist)



in meiner PL ist nun das drinenn
/usr/bin/mysqldump -u root support > /sicherung/support.sql
/usr/bin/mysqldump -u root rotor > /sicherung/rotor.sql
/usr/bin/mysqldump -u root 86 > /sicherung/86.sql
/usr/bin/mysqldump -u root funtasy > /sicherung/funtasy.sql
/usr/bin/mysqldump -u root confixx > /sicherung/confixx.sql

Beatmaster
15.09.02, 23:36
also bevor Du am Script weiterbastelst, würde ich an Deiner Stelle erst einmal mysqldump auf der Konsole kennenlernen!
Ein mysqldump --help zeigt Dir die vielen Möglichkeiten dieses Tools!

in meinem DB-Backupscript sieht ein Befehl z.B. so aus:

mysqldump --user=$USER --password=$PASS --opt Datenbankname > /root/backup/Datenbankname.sql

Kann natürlich sein, daß die Datenbanken die Du angegeben hast gar nicht existieren?!

Michael

Papaschlumpf
15.09.02, 23:46
Da werde ich sicher mal ein blick werfen, hoffe das ich auch alles verstehen würde nicht nur in linux ein kaum wisser sondern auch in Englischem leider ich hoffe das mein schatz mir da ev auch mal weiter helfen kann


Papas

ITSE
16.09.02, 15:00
könnte es sein, dass du nicht die Datenbanken angegeben hast, sondern die Tabellennamen?

Ist nur so ein gedanke ;)

GrinningEvil
16.09.02, 15:12
aha! ein ITSE-Kollege, haha ich sag nur ja lall! ;)

Papaschlumpf
16.09.02, 20:36
nein habe ich nicht, das sind meine Tabellen