Tengo este conjunto cronjob:
* * * * * /usr/bin/systemctl suspend
Y no está funcionando. Pero puedo ejecutarlo en un shell y funciona. No entiendo lo que podría no estar funcionando.
EDITAR
error de redireccionamiento de salida para /tmp/error
da esto:
Failed to issue method call: Access denied
Failed to issue method call: Access denied
Mi pregunta es entonces: ¿Se ejecutan cronjobs como un usuario especial ( cron
por ejemplo), lo que explicaría que mi usuario puede ejecutar el comando, pero no él cron
mismo?
Explicación adicional:
Este es un ejemplo mínimo para mostrar un problema que tengo en un script (eso tiene más sentido que el comando único proporcionado aquí)
systemctl
es parte desystemd
. Creo que reiniciar, apagar, suspender funcionan con un usuario no rootsystemd
. De todos modos, está funcionando en mi sistema.Por último, yo uso Linux del arco y
/bin
,/usr/sbin
,/sbin
son todos los enlaces simbólicos a/usr/bin
.
systemctl
está dentro /usr/bin
y acepta suspend
así? ¿Qué * nix estás usando?
systemctl suspend
no funciona en las distribuciones de Debian o RedHat) y, por lo tanto, explica que en realidad no desea hacer lo que está mostrando :). Además, intente agregar 2> /tmp/error
o algo para capturar cualquier error que pueda estar recibiendo. Finalmente, díganos qué usuario está ejecutando este crontab.