• [^] # Re: Si ton script est lancé par une tâche crontab

    Posté par . En réponse au message Script permettant d'effectuer un diff entre deux fichiers jour n et jour n-1. Évalué à 1. Dernière modification le 08 septembre 2022 à 10:33.

    Bonjour

    Si le script /home/scriptnew/monscript.sh
    contient :

    #!/bin/sh
    nomfic1=$(date --date '1 days ago' '+%Y%m%d')'Filter.txt'
    nomfic2=$(date --date '2 days ago' '+%Y%m%d')'Filter.txt'
    nomfic3=$(date --date '1 days ago' '+%Y%m%d')'DifFilter.txt'
    diff $nomfic1 $nomfic2 > $nomfic3

    et si ce script est exécutable pour le compte utilisateur scriptnew

    scriptnew@machinedebian:~$ ls -l /home/scriptnnew/monscript.sh 
    -rwxr--r-- 1 scriptnnew scriptnnew 222 7 sept. 23:40 /home/scriptnnew/monscript.sh
    scriptnew@machinedebian:~$

    et si il existe les fichiers 20220906Filter.txt et 20220907Filter.txt dans le répertoire personnel du compte utilisateur scriptnew

    scriptnew@machinedebian:~$ ls -l /home/scriptnnew/2022090{7,8}Filter.txt
    -rw-r--r-- 1 scriptnew scriptnew 16 7 sept. 23:42 /home/scriptnew/20220907Filter.txt
    -rw-r--r-- 1 scriptnew scriptnew 24 4 sept. 23:43 /home/scriptnew/20220908Filter.txt
    scriptnew@machinedebian:~$```
    et si la ligne suivante a été ajoutée dans la table _crontab_ du compte utilisateur `scriptnew`
    ```text
    0 10 * * * $HOME/monscript.sh

    alors, si la session du compte utilisateur scriptnew est ouverte à ce moment là
    le 9 septembre à 10:00 le fichier /home/scriptnew/20220909DifFilter.txt sera créé

    et tous les jours à 10 heures si les fichiers dont le contenu à différencier existent
    alors un nouveau fichier /home/scriptnew/yyyymmddDifFilter.txt sera créé
    (bien sûr, avec yyyymmdd correspondant à la date du jour)

    ... et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.