cronjob está falhando - como dizer para sempre executar como root?

0

Eu uso o LetsEncrypt no meu servidor para renovar certificados HTTPS. Se eu fizer login manualmente no meu servidor e executar

$ sudo /opt/certbot-auto renew --nginx --quiet --no-self-upgrade

então minha atualização de certificados e tudo é ótimo.

Eu queria fazer isso como um cronjob diário, então eu fiz:

$ sudo crontab -e

e adicionou as linhas:

# try to renew  "at 00:00 on Every Day of the Week"
0 0 * * 1-7  /opt/certbot-auto renew --nginx --quiet --no-self-upgrade >> /var/log/le-renew.log

... no entanto, isso não está funcionando. Eu verifiquei o conteúdo de le-renew.log e encontrei o seguinte, repetido várias vezes:

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/<domain>/fullchain.pem (failure)
  /etc/letsencrypt/live/<domain>-0001/fullchain.pem (failure)
  /etc/letsencrypt/live/www.<domain>/fullchain.pem (failure)

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/<domain>/fullchain.pem (failure)
  /etc/letsencrypt/live/<domain>-0001/fullchain.pem (failure)
  /etc/letsencrypt/live/www.<domain>/fullchain.pem (failure)

Para mim, isso parece para indicar que a tarefa do cron não está sendo executada como sudo - se eu não adicionar o sudo ao invocar manualmente o comando (primeiro bloco de código neste post), então Renovar falhar.

Estou fazendo algo errado aqui? Como posso garantir que a tarefa do cron seja executada com permissões de root? Alguma dica sobre como posso depurar esse problema? Como eu disse, o comando é executado como esperado quando eu manualmente SSH e invoco-o com sudo , mas parece não funcionar direito quando adicionado como um cronjob diário.

    
por Prefix 18.05.2017 / 02:57

1 resposta

0

Eu tive esse problema executando o RKHunter no meu servidor. Faça o login como SU e faça Crontab -e você ainda pode apontar para a pasta users, mas ele será executado com privilégios por lá.

    
por Robby1212 18.05.2017 / 03:41