acionamento do trabalho cron, mas o comando é truncado após '\'

2

Eu tenho um servidor Ubuntu 16.04 que estou tentando fazer o sono e acordar automaticamente todas as noites e manhãs.

Eu adicionei o seguinte comando a uma tarefa do cron que é acionada 5 minutos antes da meia-noite todos os dias:

/usr/sbin/rtcwake -m mem -l -t $(date +\%s -d 'tomorrow 07:20')

(Eu estou fazendo isso porque eu gostaria que o trabalho fosse facilmente compreensível - usando segundos - o que funcionou - não é tão fácil de entender).

"corre" mas falha. O syslog relata qual comando cron tentou executar:

/usr/sbin/rtcwake -m mem -l -t $(date +\

Em outras palavras, cron parece estar truncando essa parte:

%s -d 'tomorrow 07:20')

Devo mencionar que quando eu executo o comando completo em uma janela de terminal, ele imediatamente coloca o computador em repouso (e ele também é ativado corretamente na manhã seguinte). Só tem um problema quando é executado como um trabalho cron .

    
por FBachofner 07.03.2018 / 03:54

1 resposta

0

o comando cron foi inserido usando wemin

O webmin cuida de caracteres especiais nos comandos do cron, você pode inseri-los como na linha de comando, não é necessário escapá-los como deve fazer ao editar o crontab diretamente.

neste caso, o caractere especial do cron% é mascarado automaticamente como \%. você digitou \% no webmin whitch é então mascarado como \\%.

/ usr / sbin / rtcwake -m mem -l -t $ (data +% s -d 'amanha 07:20')

deve funcionar no webmin e na linha de comando

BTW: \% na linha de comando é o mesmo que%, por isso seu comando está trabalhando em ambas as versões na linha de comando

    
por Kay Marquardt 11.03.2018 / 14:23