Sous-sections


Configuration

Configuration commune

Section [main]

Variable Informations Exemple
log_cfg fichier de configuration des log (/etc/sched/log.cfg) log_cfg=/etc/log.cfg
debug niveau de debug debug=10

Gestion des log

Sched utilise le système Log4perl (http://log4perl.sourceforge.net/). Les catégories configurables sont :

Module sched_master

Droits

Ce fichier doit pouvoir être lu par l'utilisateur sched_master (sched/sched) par exemple. Les informations contenues ne doivent pas être lues par les autres utilisateurs. (droit en 600 par exemple)

Section [master]

Variable Informations Exemple
dsn chaîne de connexion à la base de donnée dsn=dbname=sched
db_dir répertoire pour les fichiers de reprise de connexion. En cas de coupure réseau, toutes les commandes sont enregistrées dans ce fichier. A la reprise de la connexion ce journal est relu. db_dir=/var/lib/sched/mst/db
master_port port d'écoute du master (tcp) master_port=5544
view_passwd password de connexion de sched_view view_passwd=test

Exemple

plume:~# cat /etc/sched/master.cfg
[main]
log_cfg=/etc/sched/log.cfg
debug=20

[master]
db_dir=/var/spool/sched
dsn=dbname=sched;user=sched;password=xxx

master_port=5544
view_passwd=yyyy

Module sched_view

Droits

Ce fichier doit pouvoir être lu par l'utilisateur http (www-data/www-data) par exemple. Les informations contenues ne doivent pas être lues par les autres utilisateurs. (droit en 400 par exemple)

Section [cgi]

Variable Informations Exemple
dsn chaîne de connexion à la base de donnée dsn=dbname=sched
master_ip adresse du master master_ip=127.0.0.1
master_passwd password de connexion au master master_passwd=xxx
master_port port d'écoute du master (tcp) master_port=5544

Exemple

plume:~# cat /etc/sched/cgi.cfg
[main]
log_cfg=/etc/sched/log.cfg
debug=20

[cgi]
dsn=dbname=sched;user=sched;password=xxx
master_ip=localhost
master_passwd=ce1243c8b432abc494b01ff36ea
master_port=5544


Module sched_job

Droits

Ce fichier doit pouvoir être lu par les utilisateurs lançant les job (root/sched) par exemple. Les informations contenues ne doivent pas être lues par les autres utilisateurs. (droit en 640 par exemple). Un groupe sched peut être défini pour gérer l'accès à ce fichier.

Section [job]

Variable Informations Exemple
job_dir répertoire de stockage des job. Les job présents dans peuvent être lancés sans préciser leur chemin complet. job_dir=/var/spool/sched
work_dir répertoire de travail des job work_dir=/var/spool/sched
db_dir répertoire pour les fichiers de reprise de connexion db_dir=/var/lib/sched/job/db
master_ip adresse du master master_ip=localhost
master_passwd password de connexion au master master_passwd=xxx
master_port port d'écoute du master (tcp) master_port=5544
master_retry temps entre 2 reconnexions (sec) master_retry=60
master_read_retry temps entre 2 lectures forcées (sec) master_read_retry=6
master_encrypt permet de crypter ou non la connexion (en cas de problème de configuration des modules) master_encrypt=0
master_compress permet de compresser ou non la connexion (en cas de problème de configuration des modules) master_compress=1
master_ping temps entre deux messages ping. Ces messages sont utilisés pour garder la connexion ouverte et flusher les messages en attente dans le réseau. master_ping=200
hostname nom utilisé pour la connexion au master (par défaut le résultat de la commande hostname) hostname=plume

Exemple

plume:~# cat /etc/sched/cgi.cfg
[main]
log_cfg=/etc/sched/log.cfg
debug=20

[job]
work_dir=/var/lib/sched/job/wd
job_dir=/home/eric/travail/sched/src/xml/job
master_ip=localhost
master_port=5544
master_passwd=xxxx
master_retry=2
db_dir=/var/lib/sched/job/db
hostname=plume

Module sched_slave

Droits

Ce fichier doit pouvoir être lu par l'utilisateur lançant sched_slave (root/root) par exemple. Les informations contenues ne doivent pas être lues par les autres utilisateurs. (droit en 600 par exemple)

Il est possible d'utiliser un compte banalisé pour ce démon, l'utilisation d'un programme comme sudo ou bien super permettra de lancer des commandes avec les autres utilisateurs.

Section [slave]

Variable Informations Exemple
work_dir répertoire de travail des job work_dir=/var/spool/sched
db_dir répertoire pour les fichiers de reprise de connexion db_dir=/var/lib/sched/sl/db
master_ip adresse du master master_ip=localhost
master_passwd password de connexion au master master_passwd=xxx
master_port port d'écoute du master (tcp) master_port=5544
master_retry temps entre 2 reconnexions (sec) master_retry=60
master_read_retry temps entre 2 lectures forcées (sec) master_read_retry=6
master_ping temps entre deux messages ping (pour garder la connexion ouverte) master_ping=200
hostname nom utilisé pour la connexion au master hostname=plume

Exemple

plume:~# cat /etc/sched/slave.cfg
[main]
log_cfg=/etc/sched/log.cfg
debug=20

[slave]
master_ip=localhost
master_port=5544
master_passwd=xxxx
master_retry=10
work_dir=/var/lib/sched/job/wd
db_dir=/var/lib/sched/slave/db
hostname=plume2

Module sched_xfer

Cette section doit se trouver dans le fichier slave.cfg.

Section [xfer]

Variable Informations Exemple
xfer_inet interface à utiliser xfer_inet=10.2.3.6
xfer_port port à utiliser xfer_port=8081
xfer_user utilisateur applicatif xfer_user=nobody
xfer_group group applicatif (doit pouvoir lire les fichiers du [slave]/work_dir) xfer_group=sched

Exemple

plume:~# cat /etc/sched/slave.cfg
[main]
log_cfg=/etc/sched/log.cfg
debug=20

[slave]
master_ip=localhost
master_port=5544
master_passwd=xxxx
master_retry=10
work_dir=/var/lib/sched/job/wd
db_dir=/var/lib/sched/slave/db
hostname=plume2

[xfer]
xfer_inet = 0.0.0.0
xfer_port = 8081
xfer_user = nobody
xfer_group = sched

Eric 2005-12-17