web-dev-qa-db-fra.com

quand je lance un fichier bash manuellement, cela fonctionne, mais crontab ne peut pas l'exécuter?

Ceci est mon fichier sh: http://paste.ubuntu.com/5816543/ , que j'utilise pour télécharger des fichiers youtube dans une période spécifique par jour. Lorsque je fais glisser le fichier (y.sh) dans le terminal et que j'appuie sur la touche Retour, le téléchargement commence. mais quand j'utilise la commande ci-dessous dans crontab -e, rien ne se passe!

00 21 * * * /home/deroot/links4dl/y.sh

Torify: emballage pour torsocks ou tsocks et tor -> man torify

youtube-dl: téléchargez des vidéos de youtube.com ou d'autres plates-formes vidéo -> man youtube-dl

1
mini

Rappelez-vous que Cron utilise son propre environnement, différent de votre propre environnement.

Si vous ne l'avez pas changé, dans l'environnement cron, $ PATH est /usr/bin:/bin

Vous pouvez vérifier où sont stockées vos commandes avec ces commandes:

which torify 
which youtube-dl

si ce n'est pas dans /usr/bin:/bin => Ajouter un environnement PATH minimal dans votre script, quelque chose comme:

export PATH="/bin:/usr/bin:xxxx"

(où xxxx est le chemin de votre commande)

2
Emmanuel