A execução do script cron com lynx não funciona

6

Estou tentando automatizar um processo de login que só pode ser feito por meio de um navegador. Eu estou usando o navegador lynx para fazer o script das ações necessárias para fazer isso. O Lynx faz isso descarregando as teclas digitadas de um usuário em um arquivo e, em seguida, permite um sinalizador: -cmd_script=scriptfile para carregar o script.

Eu invoco lynx:

lynx -accept_all_cookies -cmd_script="myscript.lynx" www.example.com

Do meu terminal interativo, o script resultante funciona perfeitamente para mim.

Eu tenho cron executar a tarefa e não funciona. Eu verifiquei /var/log/everything.log e notei que quando o script foi executado, lynx pergunta:

Your Terminal type is unknown!
Enter a terminal type: [vt100]

Para corrigir isso, usei o sinalizador -term=linux que parou o problema, mas o processo de login ainda não parecia passar da primeira página (olhando para o arquivo de log).

Eu tentei tantas sugestões quanto pude encontrar. Copiei os resultados do env (no terminal interativo) e os colei no script para ver se o ambiente iria consertá-lo, mas, infelizmente, isso não aconteceu.

Outra nota: Meu processo de login envolve um redirecionamento (que não redireciona no navegador do lynx, portanto, basta seguir o link que ele fornece)

    
por Dennis Hodapp 14.01.2012 / 09:59

1 resposta

1

Acontece que foi um erro simples. Quando usei a sinalização -cmd_script="myscript.lynx" , coloquei myscript.lynx no mesmo diretório que o script (que era /root/bin ). Eu descobri que o lynx nunca estava executando o script, a razão é que aparentemente o cron é executado a partir do diretório inicial do usuário. Como eu estava usando o crontab do root, ele estava pesquisando /root para myscript.lynx , não /root/bin como eu esperava.

A correção simples? -cmd_script="/root/bin/myscript.lynx"

    
por 22.01.2012 / 07:32