Jobserver
Moderator: SYNERPY
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
Jobserver
Hallo,
ich habe da eine Frage bezüglich des Jobservers:
hat den denn jemand als Linux-Anwendung laufen?
Es ist schon irgenwie nervig, das der auf nem Win-Client laufen muss. Ich wollte den als Cron-Job automatisch auf dem Server starten.
Ich denke, dass das automatische Erzeugen der Bestellvorschläge schon vom Server ausgehen sollte.
Kann man den Jobserver als DB-Script ausführen, indem man einfach per Script alle entsprechenden Funktionen der Datenbank anschubst? Wenn ja welche Prozeduren werden denn durch den Jobserver ausgeführt?
Das gleiche gilt natürlich dann auch für den JobDruck...
Denis
ich habe da eine Frage bezüglich des Jobservers:
hat den denn jemand als Linux-Anwendung laufen?
Es ist schon irgenwie nervig, das der auf nem Win-Client laufen muss. Ich wollte den als Cron-Job automatisch auf dem Server starten.
Ich denke, dass das automatische Erzeugen der Bestellvorschläge schon vom Server ausgehen sollte.
Kann man den Jobserver als DB-Script ausführen, indem man einfach per Script alle entsprechenden Funktionen der Datenbank anschubst? Wenn ja welche Prozeduren werden denn durch den Jobserver ausgeführt?
Das gleiche gilt natürlich dann auch für den JobDruck...
Denis
Schöne Grüße aus Leipzig
Denis
-
Linux - my life is too short for reboots
Denis
-
Linux - my life is too short for reboots
-
- Site Admin
- Beiträge: 2673
- Registriert: Di Feb 10, 2004 5:48 am
- Wohnort: Bayreuth
Hmmm, hatte eigentlich einen Kommentar geschrieben, hatte wohl nicht ganz mit dem Posten geklappt.
Es sollte prinzipiell möglich sein, SQL-Befehle mittels Chron Job zu starten, allerdings müsste man hier ein Command-Line-Tool haben. Da wir sehr wenig mit Linux arbeiten, ist uns hier leider keins bekannt. Sicherlich können da aber andere im Forum helfen.![Wink :wink:](./images/smilies/icon_wink.gif)
Es sollte prinzipiell möglich sein, SQL-Befehle mittels Chron Job zu starten, allerdings müsste man hier ein Command-Line-Tool haben. Da wir sehr wenig mit Linux arbeiten, ist uns hier leider keins bekannt. Sicherlich können da aber andere im Forum helfen.
![Wink :wink:](./images/smilies/icon_wink.gif)
-
- Beiträge: 24
- Registriert: Mi Jun 30, 2004 6:39 am
Hallo,
wir machen das mit cron und dem fbexport-Tool:
http://fbexport.sourceforge.net/
Und das läuft eigentlich sehr zuverlässig.
wir machen das mit cron und dem fbexport-Tool:
http://fbexport.sourceforge.net/
Und das läuft eigentlich sehr zuverlässig.
Zollikofer IT GmbH
mailto: zollikofer@zollikofer-it.ch, web: www.zollikofer-it.ch
tel: +41 71 282 10 15, fax: +41 71 282 10 10
mailto: zollikofer@zollikofer-it.ch, web: www.zollikofer-it.ch
tel: +41 71 282 10 15, fax: +41 71 282 10 10
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
-
- Beiträge: 24
- Registriert: So Mär 06, 2005 11:27 pm
- Wohnort: Virneburg/Eifel
Re: Jobserver
Hallo,denis robel hat geschrieben:Hallo,
Kann man den Jobserver als DB-Script ausführen, indem man einfach per Script alle entsprechenden Funktionen der Datenbank anschubst? Wenn ja welche Prozeduren werden denn durch den Jobserver ausgeführt?
Das gleiche gilt natürlich dann auch für den JobDruck...
Denis
man kann folgendermaßen ein SQL-Script unter Linux via cron starten:
1. ein shell-script, z.B. sqlscript.sh mit folgedem Inhalt:
/opt/firebird/bin/isql "/daten/fb/daten.fdb" -u "SYSDBA" -p "masterkey" -i "/opt/firebird/ext/update.sql"
------
meldet sich an der DB an und ruft dann das SQL-script auf
2. ein sql-script (hier in /opt/firebird/ext hier mit namen update.sql
UPDATE KONTAKTE SET PAUL = 'weisnichtwas';
3. ein Entrag in der cron, der das shell-script unter 1. aufruft
Christoph
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
Hallo ctheuring,
diese Variante gefällt mit noch besser, weil man ja für den Cron-Job zusätzlich kein extra Programm benötigt...
Aber jetzt noch einmal die konkrete Frage an Synerpy:
Was wird bzw. welche Prozeduren werden durch den Jobserver ausgeführt und kann man diese in ein Script "packen" damit das Script zeitgesteuert auf dem Linux-Server ausgeführt werden kann????
Denis
diese Variante gefällt mit noch besser, weil man ja für den Cron-Job zusätzlich kein extra Programm benötigt...
Aber jetzt noch einmal die konkrete Frage an Synerpy:
Was wird bzw. welche Prozeduren werden durch den Jobserver ausgeführt und kann man diese in ein Script "packen" damit das Script zeitgesteuert auf dem Linux-Server ausgeführt werden kann????
Denis
Schöne Grüße aus Leipzig
Denis
-
Linux - my life is too short for reboots
Denis
-
Linux - my life is too short for reboots
-
- Beiträge: 216
- Registriert: Do Jun 17, 2004 8:08 am
Hallo,
alles, was im Jobserver auferufen wird, steht in der Tabelle BJOB. Hier sind alle Parameter für die entsprechenden Prozeduren ebenfalls hinterlegt. In AvERP ist dies die Maske "Zeitgesteuerte Programme".
Wenn man für jeden Datensatz in der Tabelle ein eigenes Skript macht und dies in den entsprechenden Intervallen als Job ausführt, sollte dem nichts im Wege stehen.
Ein Skript könnte dann folgendermaßen aussehen:
Wenn eine Prozedur Parameter erwartet, dann kann dies folgendermaßen angegeben werden:
Am besten man testet die Skripte in IBExpert. dann erfährt man auch leichter, welche und ob die Prozedur Eingabeparameter benötigt. Das COMMIT WORK; ist sehr wichtig, um die geänderten Daten in die DB zu schreiben.
Die Intervalle bzw. die Ausführungszeit sind ebenfalls in der Tabelle abgelegt und sollten auch in den ChronJob übernommen werden. Hilfreich ist auf jeden Fall die Maske in AvERP um die Intervalle herauszubekommen.
mfg SYN14
alles, was im Jobserver auferufen wird, steht in der Tabelle BJOB. Hier sind alle Parameter für die entsprechenden Prozeduren ebenfalls hinterlegt. In AvERP ist dies die Maske "Zeitgesteuerte Programme".
Wenn man für jeden Datensatz in der Tabelle ein eigenes Skript macht und dies in den entsprechenden Intervallen als Job ausführt, sollte dem nichts im Wege stehen.
Ein Skript könnte dann folgendermaßen aussehen:
Code: Alles auswählen
EXECUTE PROCEDURE P_JOB_BBVO;
COMMIT WORK;
Code: Alles auswählen
EXECUTE PROCEDURE P_CZEITP(6,CURRENT_DATE,CURRENT_DATE + 10);
COMMIT WORK;
Die Intervalle bzw. die Ausführungszeit sind ebenfalls in der Tabelle abgelegt und sollten auch in den ChronJob übernommen werden. Hilfreich ist auf jeden Fall die Maske in AvERP um die Intervalle herauszubekommen.
mfg SYN14
-
- Beiträge: 110
- Registriert: Mo Feb 07, 2005 10:45 pm
-
- Beiträge: 110
- Registriert: Mo Feb 07, 2005 10:45 pm
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
Hallo,
der Jobserver ist relativ einfach über Scripte zu ersetzen ...
und das Backup kann man auch gut automatisieren, mein Backup wird auf den Fileserver kopiert.
Dazu führe ich nachfolgendes Script per Cron-Job aus:
*****SCHNIP*****
#! /bin/bash
# Anmelden des Netzlaufwerkes Datensicherung auf Dantschke1
mount -t smbfs -o username=*****,password=***** //192.168.1.4/datensicherung /mnt/datensicherung
#Pfad für die Datensicherung
FILE=/mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")
#Feststellen, ob der Pfad für heutiges Datum schon existiert
#wenn nicht, dann Pfad anlegen
if [ ! -e $FILE ]; then
echo
echo creating $FILE
mkdir /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")
else
echo
echo $FILE exists
fi
#Datenbanksicherungn
#echo
#echo Backup Demo$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
#/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Demo$(date +"_%d%m%Y_%H%M").log /opt/averp/Demo.GDB /opt/averp/Demo$(date +"_
%d%m%Y_%H%M").GBK
echo
echo Datenbanksicherung Dantschke$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Dantschke$(date +"_%d%m%Y_%H%M").log /opt/averp/Dantschke.GDB /opt/averp/Dants
chke$(date +"_%d%m%Y_%H%M").GBK
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/security$(date +"_%d%m%Y_%H%M").log /opt/firebird/security.fdb /opt/averp/secu
rity$(date +"_%d%m%Y_%H%M").GBK
#Datensicherung packen
echo
echo Datensicherung wird gepackt
gzip -f /opt/averp/*.GBK --best
#Datensicherung kopieren
echo
echo Datenbanksicherung und Sicherungsprotokoll werden nach $FILE kopiert
mv /opt/averp/*.gz /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/
mv /opt/averp/*.log /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/
# Abmelden des Netzlaufwerkes Datensicherung auf Dantschke1
umount /mnt/datensicherung
*****SCHNIP*****
der Jobserver ist relativ einfach über Scripte zu ersetzen ...
und das Backup kann man auch gut automatisieren, mein Backup wird auf den Fileserver kopiert.
Dazu führe ich nachfolgendes Script per Cron-Job aus:
*****SCHNIP*****
#! /bin/bash
# Anmelden des Netzlaufwerkes Datensicherung auf Dantschke1
mount -t smbfs -o username=*****,password=***** //192.168.1.4/datensicherung /mnt/datensicherung
#Pfad für die Datensicherung
FILE=/mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")
#Feststellen, ob der Pfad für heutiges Datum schon existiert
#wenn nicht, dann Pfad anlegen
if [ ! -e $FILE ]; then
echo
echo creating $FILE
mkdir /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")
else
echo
echo $FILE exists
fi
#Datenbanksicherungn
#echo
#echo Backup Demo$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
#/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Demo$(date +"_%d%m%Y_%H%M").log /opt/averp/Demo.GDB /opt/averp/Demo$(date +"_
%d%m%Y_%H%M").GBK
echo
echo Datenbanksicherung Dantschke$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Dantschke$(date +"_%d%m%Y_%H%M").log /opt/averp/Dantschke.GDB /opt/averp/Dants
chke$(date +"_%d%m%Y_%H%M").GBK
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/security$(date +"_%d%m%Y_%H%M").log /opt/firebird/security.fdb /opt/averp/secu
rity$(date +"_%d%m%Y_%H%M").GBK
#Datensicherung packen
echo
echo Datensicherung wird gepackt
gzip -f /opt/averp/*.GBK --best
#Datensicherung kopieren
echo
echo Datenbanksicherung und Sicherungsprotokoll werden nach $FILE kopiert
mv /opt/averp/*.gz /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/
mv /opt/averp/*.log /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/
# Abmelden des Netzlaufwerkes Datensicherung auf Dantschke1
umount /mnt/datensicherung
*****SCHNIP*****
Schöne Grüße aus Leipzig
Denis
-
Linux - my life is too short for reboots
Denis
-
Linux - my life is too short for reboots
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
Re: Jobserver
Hallo,
ich muss den alten Beitrag hier nochmals ausgraben.
Ich habe gerade angefangen den Jobserver in Python3 ohne GUI nach zuschreiben, damit ich den Jobserver nativ unter Linux laufen lassen kann.
Unter Python gibt es für Firebird und für den Mailversand jeweils fertige und gut dokumentierte Module.
Der wesentliche Vorteil ist dass dann auch die Mails des Nachrichtensystems versendet werden können und nicht für jede Jobprozedur kein Ersatz im Corontab erstellt werden muss.
Für mein Verständnis:
Die Mailconfig liegt in BMAILCFG, wenn mehrere Datensäte vorhanden, dann den verwenden, der im Firmenstamm hinterlegt ist.
Aus BJOB werden alle Prozeduren ausgelesen, die aktiv sind und abgearbeitet werden müssen. Nach dem Durchlauf ist der letzte Durchlauf zu schreiben.
Wofür wird das Kennzeichen Warten in BJOB genutzt, zum parallelem Bearbeiten von Vorgängen?
Wie läuft der Mailversand?
1. Aufruf der P_JOB_MAILVERSAND durch den Jobserver
2. Versand Prozess mit Zugangsdaten aus BMAILCFG
3. P_JOB_NACH_MAILVERSAND durch den Jobserver zum Kennzeichen in BJOBAKT
Ist diese Annahme korrekt?
Hat hier noch jemand Interesse an einem Austausch oder möchte sich ebenfalls mit einbringen?
Schöne Ostern und bleibt alle gesund!
ich muss den alten Beitrag hier nochmals ausgraben.
Ich habe gerade angefangen den Jobserver in Python3 ohne GUI nach zuschreiben, damit ich den Jobserver nativ unter Linux laufen lassen kann.
Unter Python gibt es für Firebird und für den Mailversand jeweils fertige und gut dokumentierte Module.
Der wesentliche Vorteil ist dass dann auch die Mails des Nachrichtensystems versendet werden können und nicht für jede Jobprozedur kein Ersatz im Corontab erstellt werden muss.
Für mein Verständnis:
Die Mailconfig liegt in BMAILCFG, wenn mehrere Datensäte vorhanden, dann den verwenden, der im Firmenstamm hinterlegt ist.
Aus BJOB werden alle Prozeduren ausgelesen, die aktiv sind und abgearbeitet werden müssen. Nach dem Durchlauf ist der letzte Durchlauf zu schreiben.
Wofür wird das Kennzeichen Warten in BJOB genutzt, zum parallelem Bearbeiten von Vorgängen?
Wie läuft der Mailversand?
1. Aufruf der P_JOB_MAILVERSAND durch den Jobserver
2. Versand Prozess mit Zugangsdaten aus BMAILCFG
3. P_JOB_NACH_MAILVERSAND durch den Jobserver zum Kennzeichen in BJOBAKT
Ist diese Annahme korrekt?
Hat hier noch jemand Interesse an einem Austausch oder möchte sich ebenfalls mit einbringen?
Schöne Ostern und bleibt alle gesund!
Schöne Grüße aus Leipzig
Denis
-
Linux - my life is too short for reboots
Denis
-
Linux - my life is too short for reboots
-
- Beiträge: 203
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
Re: Jobserver
Hallo,
falls es jemanden interessiert, ich habe nun einen laufenden Jobserver (alpha Version) ohne GUI unter der direkt unter Linux läuft.
Es werden die in BJOB eingetragenen Prozeduren ausgeführt und Mails versendet mit dem Account aus BMAILCFG...
z.Z. werden noch alle Prozeduren hintereinander abgearbeitet, aber das werde ich demnächst noch ändern.
falls es jemanden interessiert, ich habe nun einen laufenden Jobserver (alpha Version) ohne GUI unter der direkt unter Linux läuft.
Es werden die in BJOB eingetragenen Prozeduren ausgeführt und Mails versendet mit dem Account aus BMAILCFG...
z.Z. werden noch alle Prozeduren hintereinander abgearbeitet, aber das werde ich demnächst noch ändern.
Schöne Grüße aus Leipzig
Denis
-
Linux - my life is too short for reboots
Denis
-
Linux - my life is too short for reboots