Cron-Syntax Error

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Stronghold
Beiträge: 11
Registriert: 02.02.2003 18:27:13

Cron-Syntax Error

Beitrag von Stronghold » 03.02.2003 17:10:41

Hallo Leute, ich will meine Datenbank mit dem Befehl
mysqldump -c datenbank > /Ver/zeichnis/`date +"%Y%m%d%k%M"`.sql
per CRON dumpen, dieser soll dann immer zu einem bestimmten Zeitpunkt eine Datei erstellen, die mit dem aktuellen Zeitpunkt benannt wird, allerdings kommt er in der CRONTAB nicht mit dem date +" klar, denn dort bricht er den Befehl immer ab, also was er dann versucht auszuführen ist alles inkl. date+" ->aber da passiert nichts, wie muss ich diesen Befehl in der CRONTAB schreiben??? Bei mir sieht das so aus

30 2 * * * root mysqldump -c datenbank > /ver/zeichnis/`date + "%Y%m%d%k%M"`.sql

Wodurch muss ich also die " ersetzen??? Ich habe es schon mit ' probiert, aber auch da bricht er ab...

Stronghold
Gefährlicher als eine falsch konfigurierte Firewall ist ein falsches Gefühl von Sicherheit...

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 03.02.2003 18:13:15

Hi Stronghold,

versuchs mal so:

Code: Alles auswählen

mysqldump -c datenbank > '/Ver/zeichnis/`date +"%Y%m%d%k%M"`.sql'
oder mach dir ein bashscript

Code: Alles auswählen

#!/usr/bin/bash
mysqldump -c datenbank > /Ver/zeichnis/`date +"%Y%m%d%k%M"`.sql
und lass dieses von cron ausführen.


Gruß

Dookie

Benutzeravatar
feltel
Webmaster
Beiträge: 10368
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 03.02.2003 19:02:07

Dookie hat geschrieben:

Code: Alles auswählen

#!/usr/bin/bash
mysqldump -c datenbank > /Ver/zeichnis/`date +"%Y%m%d%k%M"`.sql
Die bash liegt aber in /bin/bash und nicht /usr/bin/bash. Portabler wäre das Script mit /bin/sh als Interpreter.

Stronghold
Beiträge: 11
Registriert: 02.02.2003 18:27:13

Beitrag von Stronghold » 03.02.2003 19:05:30

Hi Dookie,

wahrscheinlich stelle ich mich einfach nur zu dumm an, aber per CRONTAB lässt sich das nicht ausführen. Ich habe mir ein kleines Shell-Skript erstellt, wie Du es vorgeschlagen hattest, er führt dieses auch laut syslog aus, aber es geschieht nichts... Ich habe versucht, das ganze nicht mit /bin/bash sondern mit /bin/sh zu machen, aber auch das ging nicht...

Hast Du vielleicht noch einen Tipp für mich??? Wenn ich den Befehl, den Du mir gepostet hast, per Shell eingebe, dann funktioniert das, aber wenn ich das per CRON ausführen lassen will, geht das nicht...

Ein ähnliches Problem habe ich mit PHP -Skipten, diese werden offensichtlich ausgeführt, allerdings passiert nicht wirklich etwas...

Bis denn,

Stronghold
Gefährlicher als eine falsch konfigurierte Firewall ist ein falsches Gefühl von Sicherheit...

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 03.02.2003 19:23:27

hmm
php ist auch in erste linie für webscripte. Fünktionieren die anderen Scripta auch wenn Du sie als root ausführst, nicht nur als User?

@feltel: stimmt natürlich, muss /bin/bash bzw /bin/sh sein, das kommt davon wenn mann bei seinen Scripts immer vim und templates verwendet :oops:


Gruß

dookie

Stronghold
Beiträge: 11
Registriert: 02.02.2003 18:27:13

Beitrag von Stronghold » 03.02.2003 19:43:15

Hi Dookie...

Also die Geschichte mit den PHP-Scripten funktioniert nur bei mir lokal auf einer SuSE-Kiste, nicht aber auf dem Debian-Server...

Was das Script angeht, welches Du mir gepostet hast, das habe ich als root ausführen lassen, aber es passiert nichts... Ich glaube, ich habe irgendetwas grundlegendes übersehen.. Was mache ich bloß falsch???

Kann man eigentlich (auch wenn das nicht zu meinem Ausgangsthema passt) mit Shell-Skripten MySQL-Datenbanken abfragen und diese Daten bearbeiten??? Wenn ja, weißt Du vielleicht auch, wie das funktioniert, oder weisst Du, wo ich vielleicht ein Tutorial hierfür finden kann??

Bis denn,

Stronghold
Gefährlicher als eine falsch konfigurierte Firewall ist ein falsches Gefühl von Sicherheit...

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 03.02.2003 20:33:22

direkt von de shell aus , gehts nur über den mysql-client den Du ja auch über Scripte steuern kannst, wird aber sicher recht aufwändig, in einem anderen Thread habe ich Dir Python empfohlen, ich mach damit alles, was über bash-scripting hinausgeht.

Gruß

Dookie

Stronghold
Beiträge: 11
Registriert: 02.02.2003 18:27:13

Beitrag von Stronghold » 03.02.2003 21:05:51

:lol: Jau... habe ich gerade auch noch gelesen... Mit Python habe ich bisher noch nichts gemacht, aber ich habe das jetzt mit PHP dargestellt. Dieses Script dumpt die DB und packt anschließend das Archiv...

Stronghold
Gefährlicher als eine falsch konfigurierte Firewall ist ein falsches Gefühl von Sicherheit...

Antworten