Comandos Inline Crontab?

1

O seguinte crontab é possível?

0 4 * * * /sbin/sudo shutdown -r now

Eu quero rodar um único comando, sudo shutdown -r now, a partir de um crontab sem ter que colocá-lo em um script bash.

    
por GTS Joe 11.07.2016 / 00:10

2 respostas

1

Normalmente, sudo será inútil em crontab . O programa cron executa os comandos em um ambiente restrito (principalmente um muito limitado PATH e nenhum controle tty). Embora você possa fazer isso funcionar instalando graves falhas de segurança, o caminho certo para obter o que você provavelmente deseja é colocar o comando shutdown -r now em crontab da raiz.

Você obviamente não espera estar fazendo nada às 4 da manhã na máquina em questão, mas como precaução para um caso raro quando estiver, você pode querer dar o comando shutdown algum tempo e um real mensagem. Então, se você estiver lá, poderá limpar ou interromper o desligamento no intervalo. É realmente uma pena ter algo parecido com esse chute logo após você ter passado meia hora de edição e não ter chance de salvá-lo.

    
por 11.07.2016 / 03:14
0

Ekhm sim, leia os manuais fabulosos?

De man crontab

   The  sixth  field  of  a line in a crontab entry is a string that shall be executed by sh at the specified times. A
   <percent-sign> character in this field shall be translated to a <newline>.  Any character preceded by a <backslash>
   (including the '%') shall cause that character to be treated literally. Only the first line (up to a '%' or end-of-
   line) of the command field shall be executed by the command interpreter. The other lines shall be made available to
   the command as standard input.

Embora eu tenha cuidado com o PATH, incluo o caminho completo para /usr/bin/shutdown (pode ser necessária uma alteração para /etc/sudoers ).

    
por 11.07.2016 / 00:16

Tags