CronJob für SQL-Server

rainair

Grünschnabel
Hallo miteinander!

Ich habe folgendes Problem:
Ich möchte auf einem Unix-Server auf dem ein MySQL-Server läuft jede Nacht eine Abfrage laufen lassen.Hierzu brauche ich ja einen Cronjob.
Wie der Cronjob an sich funktioniert (über Crontab) bzw. wie er dort eingetragen werden muss is mir klar. Aber....
wie muss die Datei aussehen in der die Verbindung zum SQL-Server steht und der entsprechende SELECT dazu? Also wie die Abfrage aussieht weiß ich! Mir gehts wie gesagt nur um die entsprechende Batchdatei (oder was auch immer) wie diese aufgebaut sein muss.

Ich hoffe ich konnte mein Problem klar und deutlich darstellen!

Danke schon mal

Rainair

PS: Hab natürlich überall gesucht, auch den Googlehupf hab ich befragt aber alles was hier angeboten wird sind Informationen zu Cronjobs auf Webservern. Aber das ist KEIN Webserver
 
sql.sh:
Code:
#!/bin/sh
mysql -u $USER --password=$PASSWORD < script.sql

Variablen anpassen, Speichern, ausführbar machen (chmod) und in der crontab eintragen. Nicht vergessen das SQl-Script zu erstellen.
 
sql.sh:
Code:
#!/bin/sh
mysql -u $USER --password=$PASSWORD < script.sql

Variablen anpassen, Speichern, ausführbar machen (chmod) und in der crontab eintragen. Nicht vergessen das SQl-Script zu erstellen.



Muss das SQL-Skript dann unten drunter?
Ach ja, als Ergebnis bekomme ich eine zweispaltige Tabelle. Diese soll in eine Textdatei und durch Semikolon getrennt reingeschrieben werden, wie stelle ich nun das wieder an?

Danke nochmal
 
Das SQL-Script steht in der script.sql.
Code:
script.sql

Wenn du die Ausgabe in eine Dateischreiben willst musst du diese einfach weiterleiten.
 
Danke erst mal für Eure Hilfe!
Mittlerweilen bin ich soweit:


Crontab-Eintrag:
* 05 * * * root <execute file>



Datei ausführbar machen:

chmod 700 /root/bin/execute file



Inhalt execute file:

#!/bin/sh
mysql -e 'SELECT Kostenstelle, ";", Kst_Bezeichnung
INTO OUTFILE '/root/blubb/blubb1/KST.txt'
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
FROM KST_KTR_PROJEKTE' -h host -u user -p pwd


GETESTET: SELECT kst, ktr, ';' into OUTFILE 'C:/test.txt' FIELDS TERMINATED BY ';' FROM versuch;
ERGEBNIS: kst01;ktr01;\;
kst02;ktr02;\;

Hab rausgefunden dass mit dem OUTFILE-Befehl eine bereits erstellte Datei nicht überschrieben werden kann. Jetzt lösch ich halt dann noch die alte Datei bevor ich die neue erstelle....
 
Zurück