Job Downloader – man-pages

Version 1.1.3

Diese Seite bietet eine exakte Beschreibung der einzelnen Tools. Sie können auch im Terminal – wie üblich – mit

> man <Name des Tools>

abgerufen werden.

Konfiguration

Die Konfigurationsdatei “config”

Im Terminal abrufbar mit

> man jd-config
NAME
jd-config - Beschreibt den Aufbau der Konfigurationsdatei

KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config zurück. Diese wird (in dieser Reihenfolge) zuerst Im Programmverzeichnis, dann in ~/.config/job-downloader und zum Schluss in /etc/job-downloader gesucht.

Konfigurationsdaten

dbtype Art des Datenbankzugriffs. Derzeit werden unterstützt:
* ssh - Datenbankzugriff via ssh und Passwort
* ssh-key - Passwortloser Datenbankzugriff über Schlüsseldateien (geplant; ist aktuell noch nicht implementiert)

dbname Pfadangabe zur Datenbank. Wird "" angegeben, wird die Datenbank in ~/Datenbank/datenbank.db angelegt.

servername
Name oder IP des Jobservers

username
Name des Benutzers, der die Jobdatenbank verwaltet

password
Passwort des o.g. Benutzers. Bitte achten Sie darauf, dass die Konfigurationsdatei nur von autorisierten Usern (root) gelesen werden kann.

port Wenn für den ssh-Zugriff ein anderer als der Standardport(22) verwendet wird. Kann ansonsten leer bleiben.

timeout
Nach der angegebenen Zahl von Sekunden wird ein Timeout ausgelöst und das Programm beendet. In jedem Fall wird jedoch sichergestellt, dass der aktuelle Job noch ordnungsgemäß beendet wird. Die verbleibenden Jobs werden dann beim nächsten Programmstart nachgeholt. So werden übermäßig lange Programmlaufzeiten verhindert. Wird der Wert 0 angegeben, so wird KEIN Timeout ausgelöst und die anstehenden Jobs werden alle bearbeitet (egal wie lange das dauert).

autoaddhosts
yes: Falls beim Ausführen des Job-Downloaders der Host noch nicht bekannt ist, wird er im System automatisch registriert und den in autoaddgroups festgelegten Gruppen zugewiesen.

autoaddgroups
siehe autoaddhost

autoaddjobs
yes: Wird ein neuer Host registriert, dann werden ihm sofort alle Jobs vom Typ 'install' zugewiesen. Zusätzlich erhält er alle Jobs, deren Gruppen der Host angehört.

AUTOREN
Dieses Programm wurde von Achilles Scheufele achilles@mein.gmx) geschrieben und von Christian Pauli (capello@posteo.de) erweitert.

Aufbau der Datenbankdatei

Im Terminal abrufbar mit

> man jd-database
NAME
jd-database - Beschreibt den Aufbau der Datenbank

TABELLEN
Die Datenbank enthält die Tabellen

hosts Diese Tabelle enthält alle registrierten Rechner (hosts) und die Verweise auf die noch nicht abgearbeiteten Jobs.

groups Rechner (hosts) können Rechnergruppen zugewiesen werden. Dabei kann ein host auch mehreren Gruppen angehören. dadurch ist es möglich, die Rechner entsprechend den Anforderungen unterschiedlich zu konfigurieren.

jobs Diese Tabelle enthält die Aufträge (Jobs) und die Links zu den Skriptdateien. Jobs können einem Typ zugeordnet werden. Jobs vom Typ install werden (Konfigurationsoption autoaddjobs=yes vorausgesetzt) bei der Neuanlage eines Hosts ausgeführt. Für Rechner, die einer Gruppe zugeordnet sind, werden zusätzlich die Jobs ausgeführt, deren Typ dem Gruppennamen entspricht.

versions
Diese Tabelle enthält alle bisher vergebenen Versionsnummern und das damit verbundene Erscheinungsdatum. Die aktuelle Versionsnummer ist der Eintrag mit dem neuesten Datum.


Tabelle HOSTS
hostname
Name des Hosts

date Datum der Registrierung bzw. des Jobeintrags.

job_id Ist der Eintrag NULL, handelt es sich um den Registrierungseintrag des Hosts; ansonsten enthält er die ID des auszuführenden Jobs.

error_code
Wird ein Installationsjob mit einem Fehler (exitcode>0) beendet, so wird der Fehlercode hier vermerkt und der Job beim nächten Aufruf des job-downloaders noch einmal ausgeführt.

user Der Host kann einem bestimmten Benutzer zugewiesen werden. Damit ist ein Ansprechpartner vermerkt, bei dem ggf. nachgefragt werden kann.

lastaccess
Hier wird ein Zeitstempel mit dem letzten erfolgreichen Zugriff auf den Jobserver hinterlegt (egal ob Jobs ausgeführt wurden oder nicht).


Tabelle GROUPS
groupname
Name der Gruppe

hostname
Name des zugeordneten Hosts


Tabelle JOBS
ID Die mit dem Job assoziierte ID.

name Ein den Job beschreibender Name

type Jobtyp (siehe Abschnitt Tabellen)

sequence
bestimmt die Ausführungsreihenfolge.

command
EIn Verweis auf die Skriptdatei. Diese befindet sich im Verzeichnis ~/Jobs auf dem JobServer.


Tabelle VERSIONS
versnr Versionsnummer

date Erscheinungsdatum der Version im Format YYYY-MM-DD

Programme

job-downloader

Im Terminal abrufbar mit

> man job-downloader
NAME
job-downloader - führt die auf dem JobServer gespeicherten Jobs aus.

SYNOPSIS
job-downloader [-p Retries ] [-s] | [-t Sekunden ]

job-downloader -h | --help
job-downloader -v | --version
job-downloader --showconfig

DESCRIPTION
Dieses Manual beschreibt den Befehl job-downloader . Er führt beim Hochfahren die auf dem JobServer gespeicherten Jobs (Skripte) aus. So können eine Anzahl von Rechnern immer auf demselben Stand gehalten werden. Zum Bearbeiten der Datenbank dienen eine Reihe von Hilfsprogrammen (siehe unten). Das Programm vermerkt den letzten erfolgreichen Zugriff auf den JobServer. Dieser Zeitstempel kann mit Hilfe des Programms jd-listhosts angezeigt werden.

job-downloader kann nur von Systemadministratoren (root) ausgeführt werden

OPTIONS
-p Anzahl der maximal zulässigen Versuche, den JobServer zu erreichen (Zeitabstand zwischen den Versuchen: 5 Minuten). Während der Wartezeit belegt der Job zwar Arbeitsspeicher (minimal) aber keine Rechenzeit.

-s Simuliert die Ausführung. Die Jobs werden nur nach /tmp/job-downloader heruntergeladen und nicht gelöscht.

-t Stoppt die Ausführung nach der angegebenen Anzahl von Sekunden. Der letzte Job wird dabei noch fertiggestellt. Mit dieser Option kann eine übermäßig lange Programmausführung verhindert werden. Die verbleibenden Jobs werden dann beim nächsten Programmstart ausgeführt. Diese Option überschreibt den in der Konfigurationsdatei angegebenen Wert.

-h Ein Hilfetext wird angezeigt

-v Programmname und Version werden angezeigt

--help wie -h

--version
wie -v

--showconfig
zeigt den Inhalt der Konfigurationsdatei an.

KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config zurück. Diese wird (in dieser Reihenfolge) zuerst im Programmverzeichnis, dann in ~/.config/job-downloader/ und zum Schluss in /etc/job-downloader gesucht.
Konfigurationsdaten siehe jd-config.

EXIT STATUS
1 Hinter -t muss eine Zahl (Sekunden) angegeben werden.

2 Server ist nicht erreichbar

5 Anmeldung auf dem Server ist fehlgeschlagen

6 Skript muss als Systemadministrator (root) ausgeführt werden.

7 Hostzugriff für ssh muss noch bestätigt werden

127 sqlite3 ist nicht installiert

128 Falsche Datenbankversion.

250 Interner Fehler (falscher SQL-Code)

255 Sonstiger Fehler

AUTOREN
Dieses Programm wurde von Achilles Scheufele (achilles@mein.gmx) und Christian Pauli (capello@posteo.de) geschrieben.

jd-addhost

Im Terminal abrufbar mit

> man jd-addhost
NAME
jd-addhost - Registriert einen Rechner (Host) für den Job-Downloader

SYNOPSIS
jd-addhost [-n] | [-g Gruppe1,Gruppe2,....] [hostname]
jd-addhost -h | --help
jd-addhost -v | --version
jd-addhost --showconfig

DESCRIPTION
Dieses Manual beschreibt den Befehl jd-addhost . Er dient zum Registrieren von Rechnern (Hosts) für den job-downloader. Dabei wird ein Eintrag in die Tabelle hosts in der Datenbank des Job-Servers generiert. Zusätzlich kann der Host bereits beim Anlegen einer oder mehrerer Hostgruppen (Tabelle groups) der Datenbank zugewiesen werden (Option -g). Nach dem Anlegen des Hosts werden ihm in der Regel (Konfiguration autoaddjobs="yes") alle Jobs vom Typ 'install' zugewiesen. Wird -g parametriert, kommen zusätzlich alle Jobs hinzu, deren Typ den angegebenen Gruppennamen entspricht. So können für einzelne Gruppen spezielle Installationsprogramme angelegt werden.

jd-addhost kann nur von Systemadministratoren (root) ausgeführt werden.

OPTIONS
-g Der Host wird beim Anlagen allen angegebenen Gruppen zugewiesen.

-h Ein Hilfetext wird angezeigt

-n Es werden beim Registrieren eines Hosts KEINE Installationsjobs angelegt (wirkt wie autoaddjobs="no").

-v Programmname und Version werden angezeigt

--help wie -h

--version
wie -v

--showconfig
zeigt den Inhalt der Konfigurationsdatei an

KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config zurück. Diese wird (in dieser Reihenfolge) zuerst im Programmverzeichnis, dann in ~/.config/job-downloader und zum Schluss in /etc/job-downloader gesucht.

Konfigurationsdaten siehe jd-config.

EXIT STATUS
2 Server ist nicht erreichbar

5 Anmeldung auf dem Server ist fehlgeschlagen

6 Skript muss als Systemadministrator (root) ausgeführt werden.

7 Hostzugriff für ssh muss noch bestätigt werden

127 sqlite3 ist nicht installiert

128 Falsche Datenbankversion.
KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config zurück. Diese
wird (in dieser Reihenfolge) zuerst im Programmverzeichnis, dann in
~/.config/job-downloader und zum Schulss in /etc/job-downloader ge‐
sucht.

Konfigurationsdaten siehe jd-config

EXIT STATUS
2 Server ist nicht erreichbar

5 Anmeldung auf dem Server ist fehlgeschlagen

6 Skript muss als Systemadministrator (root) audgeführt werden.

7 Hostzugriff für ssh muss noch bestätigt werden

127 sqlite3 ist nicht installiert

128 Falsche Datenbankversion.
250 Interner Fehler (falscher SQL-Code)

255 Sonstiger Fehler

AUTOREN
Dieses Programm wurde von Achilles Scheufele(achilles@mein.gmx) geschrieben und von Christian Pauli (capello@posteo.de) erweitert.

jd-addjob

Im Terminal abrufbar mit

> man jd-addjob
NAME
jd-addjob - Fügt einen Job für den Job-Downloader hinzu.

SYNOPSIS
jd-addjob [-n] [-g Gruppe1,Gruppe2,...] [-s Sequenz] [-t Jobtyp] Jobname Skriptdatei
jd-addjob -h | --help
jd-addjob -v | --version
jd-addjob --showconfig

DESCRIPTION
Dieses Manual beschreibt den Befehl jd-addjob. Er fügt einen Job zur Datenbank des job-downloaders hinzu und verteilt diesen. Dabei wird ein Eintrag in die Tabelle jobs in der Datenbank des Job-Servers generiert und das Skriptfile in das Unterverzeichnis Jobs des Job-Servers hochgeladen. Dieses wird dabei umbenannt: Es erhält den Jobnamen ergänzt durch einen Zeitstempel (Sekunden seit 1.01.1970). Anschließend wird der Job in der Regel an alle Hosts verteilt. Es gibt dabei folgende Ausnahmen:

- In der Konfigurationsdatei ist autoaddjobs="no" deklariert.

- Es wurde die Option -n parametriert

- Wurde die Option -g parametriert, so werden beim Verteilen nur Hosts der angegebenen Gruppen berücksichtigt.

jd-addjob kann nur von Systemadministratoren (root) ausgeführt werden.

OPTIONS
-n Der Job wird angelegt aber nicht verteilt.

-g Der Job wird beim nur den Rechnern der angegebenen Gruppen zugewiesen.

-s Der Job erhält die angegebenen Sequenznummer; die Jobs werden auf einem Rechner in der Reihenfolge der Sequnznummern installiert.

-t Dem Job wird der angegebene Typname zugewiesen (defaukt
ist "install")

-h Ein Hilfetext wird angezeigt

-n Es werden beim Registrieren eines Hosts KEINE Installationsjobs angelegt (wirkt wie autoaddjobs="no").

-v Programmname und Version werden angezeigt

--help wie -h

--version
wie -v

--showconfig
zeigt den Inhalt der Konfigurationsdatei an

KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config zurück. Diese wird (in dieser Reihenfolge) zuerst im Programmverzeichnis, dann in ~/.config/job-downloader und zum Schluss in /etc/job-downloader gesucht.

Konfigurationsdaten siehe jd-config.

EXIT STATUS
1 Job wurde nicht angelegt

2 Server ist nicht erreichbar

5 Anmeldung auf dem Server ist fehlgeschlagen

6 Skript muss als Systemadministrator (root) ausgeführt werden.

7 Hostzugriff für ssh muss noch bestätigt werden

127 sqlite3 ist nicht installiert

128 Falsche Datenbankversion.

250 Interner Fehler (falscher SQL-Code)

255 Sonstiger Fehler
AUTOREN
Dieses Programm wurde von Achilles Scheufele (achilles@mein.gmx) geschrieben und von Christian Pauli (capello@posteo.de) erweitert.

jd-assigngroup

Im Terminal abrufbar mit

> man jd-assigngroup
NAME
jd-assigngroup - Ordnet einen Rechner (Host) einer Gruppe zu.

SYNOPSIS
jd-assigngroup [-a] groupname1,groupname2,... [hostname]
jd-assigngroup -d [hostname]
jd-assigngroup -h | --help
jd-assigngroup -v | --version
jd-assigngroup --showconfig

DESCRIPTION
Dieses Manual beschreibt den Befehl jd-assigngroup. Er ordnet einen Rechner (Hosts) aus der Datenbank des job-downloaders einer oder mehreren Gruppe(n) zu. Zusätzlich können auch alle Gruppenzuodnungen aufgehoben werden (Parameter -d).

jd-assigngroup kann nur von Systemadministratoren (root) ausgeführt werden.

OPTIONS
-a Die angegebenen Gruppen werden zu den schon bestehenden Gruppen hinzugefügt. Wird -a weggelassen, werden bestehende Gruppenzuordnungen aufgehoben.

-d Alle Gruppenzuordnungen für den angegebenen Rechner werden gelöscht.

-h Ein Hilfetext wird angezeigt

-v Programmname und Version werden angezeigt

--help wie -h

--version
wie -v

--showconfig
zeigt den Inhalt der Konfigurationsdatei an

KONFIGURATION
Das Programm greift auf die Konfigurationsdatei config uurück. Diese wird (in dieser Reihenfolge) zuerst im Programmverzeichnis, dann in ~/.config/job-downloader und zum Schluss in /etc/job-downloader gesucht.

Konfigurationsdaten siehe jd-config.

EXIT STATUS
1 Host existiert nicht

2 Server ist nicht erreichbar

5 Anmeldung auf dem Server ist fehlgeschlagen

6 Skript muss als Systemadministrator (root) ausgeführt werden.

7 Hostzugriff für ssh muss noch bestätigt werden

127 sqlite3 ist nicht installiert

128 Falsche Datenbankversion.

250 Interner Fehler (falscher SQL-Code)

255 Sonstiger Fehler

AUTOREN
Dieses Programm wurde von Christian Pauli (capello@posteo.de) geschrieben.

jd-assignjob

Im Terminal abrufbar mit

> man jd-assignjob








jd-assignuser

Im Terminal abrufbar mit

> man jd-assignuser








jd-backup

Im Terminal abrufbar mit

> man jd-backup








jd-delhost

Im Terminal abrufbar mit

> man jd-delhost








jd-deljob

Im Terminal abrufbar mit

> man jd-deljob








jd-downloadfiles

Im Terminal abrufbar mit

> man jd-downloadfiles








jd-initialize-server

Im Terminal abrufbar mit

> man jd-initialize-server








jd-listgroups

Im Terminal abrufbar mit

> man jd-listgroups








jd-listhosts

Im Terminal abrufbar mit

> man jd-listhosts








jd-listjobs

Im Terminal abrufbar mit

> man jd-listjobs








jd-restore

Im Terminal abrufbar mit

> man jd-restore








jd-sql

Im Terminal abrufbar mit

> man jd-sql








jd-uploadfiles

Im Terminal abrufbar mit

> man jd-uploadfiles