logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 02-11-2018 16:26:01

alexcraft611
Membre
Inscription : 02-11-2018

automatisation crontab

Bonjour

J'ai effectuer un petit script me permettant de récupérer les vidéos grâce à youtube-dl, mon script fonctionne mais je n'arrive pas à l'automatiser dans la crontab...

mon script commence avec : #!/bin/bash

De ce que j'ai compris il faut définir le PATH dans la crontab ?

j'y connais vraiment pas grand chose, si quelqu'un peut m'aider big_smile

merci

Hors ligne

#2 02-11-2018 19:23:11

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-21-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : automatisation crontab

Voir le wiki https://debian-facile.org/doc:systeme:c … es-crontab

Edite ta crontab dans ta session utilisateur avec la commande

crontab -e



Le chemin doit-être complet c'est à dire de la façon suivante /home/toto/script/bidule.sh

N'hésites pas à poster le contenu de ta crontab.


Tousse antique Ovide !

Hors ligne

#3 02-11-2018 20:27:49

alexcraft611
Membre
Inscription : 02-11-2018

Re : automatisation crontab

bon visiblement mon réglage dans la crontab fonctionne car j'ai ajouter un : echo "je check si ca marche" > /home/pi/output.txt  dans mon script et j'ai bien le document en retour...

Donc il dois y avoir un soucis dans mon script dont voici le contenu :


#!/bin/bash

youtube-dl -f "bestvideo+bestaudio/best" --dateafter now-1days -w "lien de la chaine youtube" & read -t 90 ;  kill $!




qu'est-ce qui pourrait bien clocher pour qu'il ne s’exécute pas automatiquement alors que quand je l’exécute moi même il fonctionne parfaitement...

merci

Hors ligne

#4 02-11-2018 20:41:07

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : automatisation crontab

alexcraft611 a écrit :

qu'est-ce qui pourrait bien clocher pour qu'il ne s’exécute pas automatiquement alors que quand je l’exécute moi même il fonctionne parfaitement...


le PATH justement...remplace youtube-dl par son chemin complet et fait un test

whereis youtube-dl


o_O

Hors ligne

#5 02-11-2018 20:56:25

alexcraft611
Membre
Inscription : 02-11-2018

Re : automatisation crontab

pas mieux sad y'a moyen d'avoir des logs ?

Hors ligne

#6 02-11-2018 21:35:05

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-21-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : automatisation crontab

Je ne connais pas youtube-dl. A quoi sert le read dans la ligne de commande ?
Un script cron doit se dérouler dans un shell non interactif, il possible que ce soit la commande read qui pose problème.

Tousse antique Ovide !

Hors ligne

#7 03-11-2018 10:07:56

alexcraft611
Membre
Inscription : 02-11-2018

Re : automatisation crontab

Philou92 a écrit :

Je ne connais pas youtube-dl. A quoi sert le read dans la ligne de commande ?
Un script cron doit se dérouler dans un shell non interactif, il possible que ce soit la commande read qui pose problème.




Effectivement en supprimant la commande read mon script se lance. Maintenant j'ai un autre soucis, mon script ne se lance qu'une fois et après plus rien pourtant je lui ai bien spécifier de quitter au bout de tant de temps avec cette commande : -t 90 ;  kill $!    Ai-je oublier quelque chose dans mon script ?

Dans mon Htop j'ai la commande python /usr/local/bin/youtube-dl -f "bestvideo+bestaudio/best" --dateafter now-1days -w "la chaine youtube" -t 90 ;      qui reste active et qui se duplique toutes les 5 minutes ( le temps que j'ai régler dans la crontab) à noter que le kill $!  n’apparaît pas

en gros je veux que le script soit kill à -t 90 quoi qu'il arrive.

merci

Dernière modification par alexcraft611 (03-11-2018 10:27:15)

Hors ligne

#8 03-11-2018 18:12:50

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-21-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : automatisation crontab

La commande kill $! est superflue.
Premièrement elle ne sera évalué que si la commande précédente se termine.
Le $! ne se rapporte qu'au PID du dernier processus lancé en tâche de fond. Ce qui a priori ne correspond à rien dans ton cas.
A la place, un simple exit est amplement suffisant.

A quoi sert l'option -t ? Je ne l'ai pas trouvé dans le man de youtube-dl.

Tousse antique Ovide !

Hors ligne

Pied de page des forums