1 votos

Emisión de comando de ejecución en cronjob pero funciona como un comando regular

Estoy tratando de ejecutar un yt-dlp dentro de un cronjob pero estoy teniendo problemas. El comando funciona bien cuando se ejecuta como un comando de terminal normal, pero dentro de un cronjob falla. He incluido una imagen del cronjob y la salida del correo. Gracias de antemano por la ayuda.

Cronjob: yt-dlp --cookies /Users/admin/Movies/YoutubeCookies.txt --download-archive FILE --output “/Users/admin/Movies/Youtube\ Backup” -f bestvideo*+bestaudio/best “[https://www.youtube.com/playlist?list=LL](https://www.youtube.com/playlist?list=LL)”

Salida de correo:

Subject: Cron <kylenadler@kyles-mbp-2> sudo yt-dlp --cookies /Users/admin/Movies/YoutubeCookies.txt --download-archive FILE -P /Users/admin/Movies/YoutubeBackup --write-auto-subs --sub-format "srt" -f "bv+ba/b" "https://www.youtube.com/playlist?list=LL"
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=admin>
X-Cron-Env: <USER=admin>
Date: Sun, 20 Nov 2022 10:08:00 -0500 (EST)

1voto

limits Puntos 101

Añade el PATH=X en la parte superior de su archivo crontab donde X es lo que muestra su ruta de acceso al shell con echo $PATH .

0voto

yoliho Puntos 340

El problema es que yt-dlp no está en su PATH en crontab pero sí en la terminal.

Para ver la salida de echo $PATH y which yt-dip en la Terminal

La solución rápida es poner la ruta completa para yt-dip en el crontab.

Sin embargo, esto podría no ser suficiente si los internos de yt-dip dependen del PATH. En este caso cree un shell script que establezca el $PATH y luego ejecute el programa.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X