Como WGET Cronjob para salvar uma página da web periodicamente

0

Eu tenho um servidor de nuvem LTS do Ubuntu 16.04.2 on-line 24/7. Há muitos cronjob sendo executados neste servidor. Existe um site de notícias que eu quero salvar uma versão timestamp da capa de cada 20 minutos. Eu criei uma instrução WGET que funciona perfeitamente na linha de comando.

wget --convert-links --output-document = /home/username/News-Headlines - $ (data +% Y-% m-% d_% H:% M:% S) .html news.tld

* / 20 * * * * /usr/bin/wget --convert-links --output-document = / home / nome_do_usuário / Notícias-Manchetes - $ (date +% Y-% m-% d_% H :% M:% S) .html news.tld

Quando esta instrução é executada a partir do cronjob da raiz, o arquivo não é criado e nenhum erro é produzido no / var / log / syslog

Como essa declaração do cronjob da raiz do WGET pode funcionar?

Acompanhamento:

Um erro começou a ser enviado pelo cron: / bin / sh: 1: Erro de sintaxe: fim do arquivo inesperado (esperando ")")

O arquivo root crontab tem uma linha em branco no final. Para que este erro está se referindo?

    
por ml48603 08.04.2017 / 21:18

1 resposta

1

PROBLEMA DESCOBERTO Os sinais% não foram ignorados.

O seguinte conselho foi encontrado neste post: link

"Seja MUITO cuidadoso ao usar o sinal de porcentagem (%) no seu comando. A menos que eles tenham escapado \% eles serão convertidos em novas linhas e tudo após o primeiro% não-escapado será passado para o seu comando no stdin."

Quando a% na declaração de data tiver escapado \%, o arquivo com data e hora foi criado como esperado.

* / 20 * * * * /usr/bin/wget --convert -links --output-document = / home / nome_do_usuário / News-Headlines - $ (date + \% Y - \% m - \% d _ \% H: \% M: \% S) .html news.tld

    
por ml48603 08.04.2017 / 22:35