crontab + expect

1. crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 13:52h

Olá pessoal, sou novo aqui, espero que consigam me ajudar com um problema que estou tendo. Obrigado...

Estou precisando executar um arquivo com expect através do crontab.

O comando abaixo funciona:

# expect /tmp/teste.sh


Porem no crontab (nano /etc/crontab) não funciona:

1 * * * * root expect /tmp/teste.sh


O conteúdo do /tmp/teste.sh é:

#!/bin/sh
#!/usr/bin/expect -f

spawn mysql -u root -p

expect "password"
send "sssss\n"

expect "mysql"
send "CREATE DATABASE bbbbb;\n"

expect "mysql"
send "exit;\n"

expect eof
exit


Podem me dar este help?


  


2. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 14:37h

qual editor vc usa para editar o crontab?



3. Re: crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 14:39h

Executo o nano como root.


4. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 14:42h

eu uso ubuntu 15.04 só funciona a edição do crontab se usar o comando /etc# crontab -e
dentro da pasta etc digita crontab -l e ve o que voce escreveu aparece. outra coloca o caminho completo do arquivo.
exemplo do meu: 01 00 * * 5 exec /home/backup/backup.sh




5. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 14:46h

pode tirar o root tbm, tenta sem usuario só: 1 * * * * expect /tmp/teste.sh



6. Re: crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 14:52h

Acabei de fazer os dois e não funcionou:

- Editei com crontab -e
- Removi o usuário root

Talvez ajuda - olha só o log dos dois testes:


May 8 14:39:01 ws CRON[5605]: (CRON) info (No MTA installed, discarding output)
May 8 14:46:36 ws crontab[5695]: (root) LIST (root)
May 8 14:46:44 ws crontab[5698]: (root) BEGIN EDIT (root)
May 8 14:47:03 ws crontab[5698]: (root) REPLACE (root)
May 8 14:47:03 ws crontab[5698]: (root) END EDIT (root)
May 8 14:47:23 ws crontab[5715]: (root) LIST (root)
May 8 14:47:01 ws cron[809]: message repeated 9 times: [ (*system*) RELOAD (/etc/crontab)]
May 8 14:48:01 ws cron[809]: (root) RELOAD (crontabs/root)
May 8 14:48:01 ws CRON[5722]: (root) CMD (root expect /tmp/teste.sh)
May 8 14:48:01 ws CRON[5721]: (CRON) info (No MTA installed, discarding output)
May 8 14:48:17 ws crontab[5726]: (root) BEGIN EDIT (root)
May 8 14:48:53 ws crontab[5726]: (root) REPLACE (root)
May 8 14:48:53 ws crontab[5726]: (root) END EDIT (root)
May 8 14:49:00 ws crontab[5760]: (root) LIST (root)
May 8 14:49:01 ws CRON[5764]: (root) CMD (expect /tmp/teste.sh)
May 8 14:49:01 ws CRON[5763]: (CRON) info (No MTA installed, discarding output)



7. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 14:53h

posta a saida do crontab -l



8. Re: crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 14:58h

O output é:


spawn mysql -u root -p


Só se executa a primeira linha. Ele não espera os expect "" rodar.


9. Re: crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 14:58h

arcarruda escreveu:


spawn mysql -u root -p


Só se executa a primeira linha. Ele não espera os expect "" rodar.







10. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 15:00h

outra coisa da permissão de execução pro teu arquivo e dentro do crontab, não sei se influencia, mas coloca 01 e não 1...depois que voce salvar e sair do editor ele da um aviso que foi instalado um novo serviço no cron senão der o aviso é pq não ta certo o comando.

#chmod +x /tmp/teste.sh




11. Re: crontab + expect

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 08/05/2015 - 15:03h

o comando crontab -l (L) mostra o que esta dentro do crontab...eu quero ver o ta dentro dele



12. Re: crontab + expect

André Arruda
arcarruda

(usa Ubuntu)

Enviado em 08/05/2015 - 15:05h

Ao sair do editor ele exibe:
crontab: installing new crontab


Também executei a permissão:
chmod +x /tmp/teste.sh


E quanto ao minuto eu estou testando enquanto conversamos por aqui e já foram os minutos com e sem zero à esquerda.

Nenhuma tentativa deu certo.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts