Commit e25ff063 by Yvon Kerdoncuff

add cron scripts and update cron related instruction installations

parent 080b68ae
Pipeline #3890 canceled with stage
...@@ -50,7 +50,9 @@ Le code source de ce dépôt est celui qui fournit actuellement les services sui ...@@ -50,7 +50,9 @@ Le code source de ce dépôt est celui qui fournit actuellement les services sui
* contient le code de 'mon-espace-prive' (formulaire de confirmation données et services échanges) * contient le code de 'mon-espace-prive' (formulaire de confirmation données et services échanges)
## Installation (sous distribution linux) # Installation (sous distribution linux)
### 1. Installation
Prérequis : une version de python >= 3.8.12 Prérequis : une version de python >= 3.8.12
...@@ -83,3 +85,18 @@ Lancer le serveur Web avec la commande `./launch.sh` (chmod u+x préalable si nà ...@@ -83,3 +85,18 @@ Lancer le serveur Web avec la commande `./launch.sh` (chmod u+x préalable si nÃ
L'application sera accessible via http://127.0.0.1:34001/ L'application sera accessible via http://127.0.0.1:34001/
L'adresse d'écoute et le numero de port peuvent être modifiés en les passant en paramètre de la commande `./launch.sh`, par exemple `./launch.sh 192.168.0.2 5678` L'adresse d'écoute et le numero de port peuvent être modifiés en les passant en paramètre de la commande `./launch.sh`, par exemple `./launch.sh 192.168.0.2 5678`
### 2. Mise en place des crons
Les cronjobs sont indispensables au bon fonctionnement du logiciel.
Ils se chargent de :
- la cloture des créneaux (record_absences.sh)
- la finalisation des réceptions (po_process_picking.sh)
```
# m h dom mon dow command
*/5 6,7,8,9,10,11,12,13,14,15,16,17,18,19 * * * ~/third-party/cronscripts/process_picking.sh
0 8,11,14,17,20,23 * * * ~/third-party/cronscripts/record_absences.sh
```
Ajoutez ```--user x -- password y``` si le service est protégé par une barrière HTTP
\ No newline at end of file
# Tâches programmées (crons pour utilisateur django)
## Pour les services
```
# m h dom mon dow command
0 8,11,14,17,20,23 * * * /etc/record_absences.sh
0 2 * * 6 wget -O /var/log/django-cronlog/cloture_volant_$(date +%F_%T).log [url_appli_django]/members/close_ftop_service
```
## Pour les réceptions
```
# m h dom mon dow command
*/5 6,7,8,9,10,11,12,13,14,15,16,17,18,19 * * * wget -O /var/log/django-cronlog/reception_process_$(date +%F_%T).log [url_appli_django]/reception/po_process_picking
```
Ajoutez ```--user x -- password y``` si le service est protégé par une barrière HTTP
# Scripts appelés par les crons
### record_abscences.sh
```
#! /bin/bash
fn=$(date +%Y-%m-%d_%H-%M-%S).json
curl [url_appli_django]/members/record_absences > /home/django/absences/$fn
```
Lorsque le service est protégé par une barrière HTTP, ajoutez l'option ``` -u user:password```
#! /bin/bash
source ~/scripts/vars
log_dir=~/cronlogs/process_picking
MAXFILES=12960 # ~ 3 months every 5 minutes, 12 hours a day
curl -o ${log_dir}/reception_process_$(date +%F_%T).log http://$ip:$dj_port/reception/po_process_picking
ls -t ${log_dir}/*.log | sed 1,$MAXFILES\d | while read file ; do rm "$file"; done
#! /bin/bash
source ~/scripts/vars
log_dir=~/cronlogs/shifts
MAXFILES=2920 # 1 year (8 times a day)
curl -o ${log_dir}/$(date +%F_%T)_absences.log http://$ip:$dj_port/members/record_absences
ls -t ${log_dir}/*_absences.log | sed 1,$MAXFILES\d | while read file ; do rm "$file"; done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment