Eu tenho este cronjob definido:
* * * * * /usr/bin/systemctl suspend
E não está funcionando. Mas eu posso executá-lo em um shell e funciona. Não entendo o que poderia não estar funcionando.
Edição
Redirecionando a saída de erro para /tmp/error:
Failed to issue method call: Access denied
Failed to issue method call: Access denied
Minha pergunta é: Os cronjobs são executados como um usuário especial ( cronpor exemplo), o que explicaria que meu usuário pode executar o comando, mas não cronele próprio?
Explicação adicional:
Este é um exemplo mínimo para mostrar um problema que tenho em um script (que faz mais sentido do que o único comando fornecido aqui)
systemctlfaz parte desystemd. Eu acho que reiniciar, desligar, suspender estão trabalhando com um usuário não rootsystemd. De qualquer forma, está funcionando no meu sistema.Finalmente, eu uso o Arch Linux e
/bin,/usr/sbin,/sbinsão todos links simbólicos para/usr/bin.
systemctl está dentro /usr/bine aceita suspendassim? O que * nix você está usando?
systemctl suspendnão funciona nas distribuições Debian ou RedHat) e está explicando que você realmente não quer fazer o que está mostrando :). Além disso, tente adicionar 2> /tmp/erroralgo para capturar os erros que você possa estar recebendo. Por fim, diga-nos qual usuário está executando este crontab.