Por que somente um comando wget está trabalhando no meu crontab?

14

Desejo buscar conteúdo de um script PHP no meu servidor duas vezes por dia, alterando uma variável de consulta lang para definir qual idioma queremos e salvar esse conteúdo em dois arquivos específicos de idioma. Este é o meu crontab:

*/15 * * * * ~root/apache.sh > /var/log/checkapache.log
10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv"
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"

O problema é que somente a primeira linha de comando do wget está sendo executada (ou, para ser preciso: o único arquivo que está sendo escrito é /path/to/file-sv.sql ). Se eu alternar a segunda e a terceira linha, /path/to/file-en.sql será gravado. A primeira linha sempre é executada conforme o esperado, não importa onde esteja.

Eu tentei usar lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sql sem sucesso; ainda apenas a primeira linha lynx foi executada com sucesso. Até mesmo misturar wget e lynx não mudou isso!

Ficando meio desesperado! Estou esquecendo de algo? Existem milhares de artigos no crontab (combinado com) wget ou lynx, mas todos parecem abranger configurações básicas e sintaxe. Alguém tem uma pista do que estou fazendo errado?

Obrigado,
Alexandre

    
por Alexander Wallin 02.02.2011 / 22:01

3 respostas

38

Tente adicionar uma nova linha no final do seu crontab.

    
por 02.02.2011 / 23:34
2

Há algo sobre o texto errado. Edite seu crontab no vim e mostre os personagens invisíveis.

:set invlist

Você deve poder ver e corrigi-lo.

    
por 02.02.2011 / 22:32
1

Tente adicionar o redirecionamento, para depurar o crontab (ou ler o correio raiz):

11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en" > /tmp/crontab_ouptput 2> /tmp/crontab_error

Execute também "wget -O /path/to/file-en.sql" link "'do console .

Use também 'crontab -e' para validação de novo crontab.

Além disso, tente excluir a linha de trabalho e redigite-a do teclado.

Copie o comando corntab e execute:

crontab -l | crontab -
    
por 02.02.2011 / 22:31

Tags