• # 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 07 septembre 2022 à 19:18.

    • Si tu as utilisé une tâche crontab créée depuis ton compte utilisateur pour lancer ce script
    • et si les 3 fichiers .txt utilisés dans ce script sont dans le répertoire personnel de ton compte utilisateur

    alors :

    • tu n'auras pas besoin de spécifier le répertoire dans lequel sont les fichiers .txt utilisés dans ce script car le répertoire courant par défaut utilisé lors de l'exécution de ce script sera le répertoire personnel de ton compte utilisateur
    • et tu n'auras pas à spécifier le chemin absolu des commandes utilisées dans ce script car le chemin /usr/bin est déjà dans la liste des chemins assignée à la variable PATH

    Voilà le contenu du script modifié (et sans le caractère S qui était juste avant le shebang)
    qui sera lancé par la tâche crontab :

    #!/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
    • Il faudra que ce script soit exécutable par ton compte utilisateur
    • et tu auras besoin de spécifier le chemin absolu de ce script (en utilisant, par exemple, la variable $HOME) dans la ligne de commande de la tâche crontab.

    À la suite de la commande dans la ligne crontab, tu pourrais ajouter une redirection de STDERR vers un fichier log, au cas où quelque chose ne se serait pas bien passé dans le script.


    Si tu as utilisé une autre méthode pour lancer ce script,
    il faudra le préciser, car autre contexte => autres contraintes.

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