Articles
Root Cron Won ' t Ejecutar secuencia de comandos (permiso denegado)
On febrero 15, 2021 by adminHe editado mi pestaña de cron raíz para periódicamente ejecutar un script ubicado en la carpeta de un usuario en particular usando este comando:
sudo crontab -e
Cuando cron ejecuta el script, esta es la salida:
sh: 1: /home/user/Location/Of/Script: Permission denied
Pensé que el cron root tenía permiso para hacer cualquier cosa. No tengo ningún problema cuando ejecuto manualmente este script como root.
He leído en la documentación que se puede encontrar más información de error aquí:
sudo cat /var/log/syslog
Esto es lo que encontré:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Sin embargo, creo que esto probablemente no está relacionado con el problema del permiso denegado.
Entonces, ¿qué necesito hacer realmente?
Comentarios
Responder
Creo que su script no es ejecutable. Entonces, use el siguiente comando para hacerlo:
chmod +x /home/user/Location/Of/Script
O, si no es el propietario de ese script:
sudo chmod +x /home/user/Location/Of/Script
Comentarios
- Entonces, para que cron ejecute el script, debe ser ejecutable, pero manualmente como root no ' No necesita esta bandera, ¿verdad?
- Depende de cómo ejecute el script manualmente. Si ejecuta el script con
./Scipt
o/home/user/Location/Of/Script
, ' no está bien. Generalmente, cualquier script debe ser ejecutable. Consulte Cómo ejecutar un script de shell en Linux . - Eso tiene sentido, pero realmente he estado ejecutando este script manualmente el ./script manera sin encontrar ningún problema de permisos hasta que intenté cronometrarlo. Gracias por su ayuda.
/home/user/Location/Of/Script
? P.ej.la -l /home/user/Location/Of/Script
. Por cierto, necesita un MTA instalado para uso interno normal, incluso si no está enviando / recibiendo correo electrónico externamente. Me ' me sorprende que su sistema no lo tenga ya instalado.