Como evitar a criação de arquivos de texto por wget no cron job?

0

Estou usando abaixo para rodar uma página a cada hora no meu Virtualmin instalado no CentOS 7

wget https://domain.tld/index.php?page=cron > /dev/null 2>&1

mas cria arquivos abaixo a cada hora quando o cron executa

index.php?page=cron
index.php?page=cron.1
index.php?page=cron.2

etc.

Por favor, deixe-me saber como evitar a criação desses arquivos.

    
por DMP 20.04.2018 / 07:40

2 respostas

4

wget , por padrão, salva a página da Web buscada em um arquivo cujo nome corresponde ao documento no final do URL (ele não o envia para sua saída padrão). Se esse arquivo já existir, ele adicionará um número ao final dele.

Se você não quiser salvar o documento, especifique que deseja salvá-lo em /dev/null :

wget -O /dev/null 'https://domain.tld/index.php?page=cron' >/dev/null 2>&1

ou

wget --output-document=/dev/null --quiet 'https://domain.tld/index.php?page=cron'

Também é uma boa idéia citar a URL, pois algumas vezes contêm caracteres que podem ser interpretados como caractere de globalização de nome de arquivo ou terminadores de comando pelo shell (como & e [ e ] etc.).

    
por 20.04.2018 / 07:50
2

O problema não está no cron. Este é o comportamento padrão de wget . Para fazê-lo redirecionar para o padrão (então você pode afundar essa saída em /dev/null ), use wget -O- . E você provavelmente também deseja -q . Então:

wget -qO- 'https://domain.tld/index.php?page=cron' > /dev/null 2>&1

Eu não recomendo esta abordagem, no entanto. E se houver um erro? É melhor criar um script pequeno que verifique se o resultado é um código http 200 e se o conteúdo é o esperado.

    
por 20.04.2018 / 07:50

Tags