Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/09/2022, à 13:40

mikedafunk

[résolu] cron et temps d'exécution d'un script

Bonjour à tous,

J'ai sur un serveur deux scripts maison dans un crontab :
L'équivalent d'un scanIP toutes les 30mn pour savoir s'il y a des machines allumées / opérationnelles
L'équivalent d'un speedtest toutes les heures pour avoir un historique

Quand je lance les scripts à la mano, ils prennent le temps de s'exécuter normalement
Par contre, quand le crontab les exécute, seule une partie des scripts se lance (les traitements longs sont zappés)

Une idée ?
Merci

Dernière modification par mikedafunk (Le 06/12/2022, à 17:48)


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#2 Le 04/09/2022, à 13:43

bruno

Re : [résolu] cron et temps d'exécution d'un script

Bonjour,

mikedafunk a écrit :

Une idée ?

Sans voir les scripts et les tâches cron, non.


Attention, les bouteilles vendues par Nestlé Waters sont contaminées au monoxyde de dihydrogène.

Hors ligne

#3 Le 04/09/2022, à 13:46

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Je te redis ça dès que je retourne au travail...
Merci Bruno


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#4 Le 04/09/2022, à 16:36

credenhill

Re : [résolu] cron et temps d'exécution d'un script

hello
récupérer tous les messages et erreurs dans un fichier en ajoutant dans crontab

* * ..... > /tmp/log1 2>&1

Hors ligne

#5 Le 06/09/2022, à 16:22

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Bonjour,

Voilà mon crontab et les scripts, si jamais vous avez des idées...

crontab -e

*/30 * * * * /usr/bin/ipscan.sh
*/30 * * * * /usr/bin/speedtest.sh

nano /usr/bin/speedtest.sh

#!/bin/bash
/bin/echo "`date`:" >> /var/www/sambaedu/StartPage/speedtestlog.txt
/bin/speedtest --simple --bytes >> /var/www/sambaedu/StartPage/speedtestlog.txt
unaccent UTF-8 </var/www/sambaedu/StartPage/speedtestlog.txt >/var/www/sambaedu/StartPage/speedtestlog2.txt
txt2html --infile  /var/www/sambaedu/StartPage/speedtestlog2.txt --outfile /var/www/sambaedu/StartPage/speedtestlog.html
Notre serveur pedagogique SambaEdu lance un test de debit toutes les heures et les enregistre dans ce fichier mercredi 31 aout 2022, 09:02:34 (UTC-0300): Ping: 947.612 ms
Download: 1.36 Mbyte/s
Upload: 0.52 Mbyte/s
mercredi 31 aout 2022, 09:59:01 (UTC-0300): mercredi 31 aout 2022, 10:00:01 (UTC-0300): mercredi 31 aout 2022, 10:59:01 (UTC-0300): mercredi 31 aout 2022, 11:00:01 (UTC-0300): mercredi 31 aout 2022, 11:59:01 (UTC-0300): mercredi 31 aout 2022, 12:00:01 (UTC-0300): mercredi 31 aout 2022, 12:59:01 (UTC-0300): mercredi 31 aout 2022, 13:00:01 (UTC-0300): mercredi 31 aout 2022, 13:59:01 (UTC-0300): mercredi 31 aout 2022, 14:00:01 (UTC-0300): mercredi 31 aout 2022, 14:59:01 (UTC-0300): mercredi 31 aout 2022, 15:00:01 (UTC-0300): mercredi 31 aout 2022, 15:59:01 (UTC-0300): mercredi 31 aout 2022, 16:00:01 (UTC-0300): jeudi 1 septembre 2022, 14:16:16 (UTC-0300): Ping: 331.811 ms
Download: 1.00 Mbyte/s
Upload: 0.52 Mbyte/s
jeudi 1 septembre 2022, 14:30:02 (UTC-0300): jeudi 1 septembre 2022, 15:00:01 (UTC-0300): jeudi 1 septembre 2022, 15:30:01 (UTC-0300): jeudi 1 septembre 2022, 16:00:02 (UTC-0300): jeudi 1 septembre 2022, 16:30:01 (UTC-0300): jeudi 1 septembre 2022, 17:00:01 (UTC-0300): jeudi 1 septembre 2022, 17:30:01 (UTC-0300): jeudi 1 septembre 2022, 18:00:02 (UTC-0300): jeudi 1 septembre 2022, 18:30:01 (UTC-0300): jeudi 1 septembre 2022, 19:00:01 (UTC-0300): jeudi 1 septembre 2022, 19:30:01 (UTC-0300): jeudi 1 septembre 2022, 20:00:01 (UTC-0300): jeudi 1 septembre 2022, 20:30:01 (UTC-0300): jeudi 1 septembre 2022, 21:00:01 (UTC-0300): jeudi 1 septembre 2022, 21:30:01 (UTC-0300): jeudi 1 septembre 2022, 22:00:01 (UTC-0300): jeudi 1 septembre 2022, 22:30:01 (UTC-0300): jeudi 1 septembre 2022, 23:00:01 (UTC-0300): jeudi 1 septembre 2022, 23:30:01 (UTC-0300): 

ipscan.sh : http://mikedafunk.over-blog.org/2018/07 … eseau.html

Dernière modification par mikedafunk (Le 06/09/2022, à 17:46)


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#6 Le 06/09/2022, à 18:23

noje

Re : [résolu] cron et temps d'exécution d'un script

Dixit documentation Ubuntu fr :
Une tâche cron est exécutée dans un shell non connecté (non-login) et non interactif. Les variables d'environnement habituelles et en particulier PATH ne sont pas connues.

Il faut donc soit mettre les emplacements complets des exécutables dans les commandes et les scripts appelés par cron, soit définir PATH dans le fichier crontab:


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Il peut être utile d'identifier le chemin où se trouve votre exécutable, exemple avec python:

Pour les deux premières commandes tu spécifies les chemins complets /bin/….

/bin/echo "`date`:" >> /var/www/sambaedu/StartPage/speedtestlog.txt
/bin/speedtest --simple --bytes >> /var/www/sambaedu/StartPage/speedtestlog.txt

Après non :

unaccent UTF-8 </var/www/sambaedu/StartPage/speedtestlog.txt >/var/www/sambaedu/StartPage/speedtestlog2.txt
txt2html --infile  /var/www/sambaedu/StartPage/speedtestlog2.txt --outfile /var/www/sambaedu/StartPage/speedtestlog.html

Tu devrais peut-être aussi spécifier les chemins complets pour ces 2 commandes, ça devrait mieux passer…

Dernière modification par noje (Le 06/09/2022, à 18:23)


- LTS 18.04 & 22.04 - jwm - cwm - zsh

Les seules vraies erreurs sont celles que nous commettons à répétition.
Les autres sont des occasions d'apprentissage. (Dalaï Lama)

Hors ligne

#7 Le 07/09/2022, à 00:46

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Oui ce qui est étonnant c'est que la première commande, la troisième et la quatrième passent, mais pas la deuxième
Merci pour cet éclaircissement noje cool


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#8 Le 07/09/2022, à 04:22

noje

Re : [résolu] cron et temps d'exécution d'un script

Oui normal car speediest n’est pas dans bin/ mais dans /usr/bin

Visible avec la commande whereis

bash$ whereis speedtest
speedtest: /usr/bin/speedtest /usr/share/man/man1/speedtest.1.gz

- LTS 18.04 & 22.04 - jwm - cwm - zsh

Les seules vraies erreurs sont celles que nous commettons à répétition.
Les autres sont des occasions d'apprentissage. (Dalaï Lama)

Hors ligne

#9 Le 07/09/2022, à 23:42

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

J'ai modifié le fichier cron, on verra bien... Je croise les doigts ;-)
Merci !


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#10 Le 06/12/2022, à 00:53

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Finalement dans le crontab j'ai rajouté "bash" juste avant le script et ça marche nickel ^ ^


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#11 Le 06/12/2022, à 02:45

Watael

Re : [résolu] cron et temps d'exécution d'un script

parce que ce script n'a pas été rendu exécutable ?


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#12 Le 06/12/2022, à 17:48

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Pas du tout, parce que "bash endroit-du-script" récupère automatiquement l'environnement Bash et donc les fameux PATH environnement cool

Dernière modification par mikedafunk (Le 06/12/2022, à 17:49)


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne

#13 Le 06/12/2022, à 18:55

Watael

Re : [résolu] cron et temps d'exécution d'un script

je ne suis pas convaincu.
quand je mets env dans un script appelé par bash sur une ligne de la crontab, j'obtiens ceci :

SHELL=/bin/sh
PWD=/home/watael
LOGNAME=watael
_=/usr/bin/env
HOME=/home/watael
LANG=fr_FR.UTF-8
USER=watael
SHLVL=1
PATH=/usr/bin:/bin

et un script exécutable avec un shebang désignant bash comme le shell d'exécution sort la même chose. hmm


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#14 Le 08/12/2022, à 02:27

mikedafunk

Re : [résolu] cron et temps d'exécution d'un script

Oui tu as raison, faut bien mettre le path dans crontab :
https://doc.ubuntu-fr.org/cron#repertoires

Wed 07 Dec 2022 09:10:01 PM -03:
Ping: 1800000.0 ms
Download: 0.00 Mbyte/s
Upload: 0.00 Mbyte/s
Wed 07 Dec 2022 09:15:01 PM -03:
Ping: 1800000.0 ms
Download: 0.00 Mbyte/s
Upload: 0.00 Mbyte/s
Wed 07 Dec 2022 09:20:01 PM -03:
Ping: 1800000.0 ms
Download: 0.00 Mbyte/s
Upload: 0.00 Mbyte/s


Lubuntu 22.04 sur Lenovo AX81 et pas mal d'Amiga
Mon blog : http://mikedafunk.over-blog.org

Hors ligne