Re: Rodar Script na CRONTAB.
Não seria?
0 0 * * * sh /home/fernando/internet.sh
Re: Rodar Script na CRONTAB.
Eu necessito que ele rode a cada 1 minuto, não entendi o por que do 0 0 no início, mas enfim, testei assim e não funcionou também! Mesmo assim agradeço a ajuda.
Re: Rodar Script na CRONTAB.
Talvez, este artigo possa lhe ser útil.
O o o no início foi apenas um exemplo.
veja:
http://www.devin.com.br/crontab/
Re: Rodar Script na CRONTAB.
Bastos.
Sei como funcionam as sintaxes da cron e tudo mais. Tenho outros comandos funcionando perfeitamente nesta Cron só não estou entendendo por que este comando não quer funcionar.
Re: Rodar Script na CRONTAB.
Ok.
Sou novo no fórum e a minha intenção só é ajudar.
Tentou dessas formas?
0-59/1 * * * * root /home/fernando/internet.sh
0-59/1 * * * * sh /home/fernando/internet.sh
*/1 * * * * sh /home/fernando/internet.sh
Re: Rodar Script na CRONTAB.
Citação:
Postado originalmente por
skide
Galera estou com um problema relativamente simples mas que não sei onde estou errando, vou explicar resumidamente.
Tenho um servidor com 2 links dedicados, criei um script para verificar se o link1 e link2 estão UP caso um caia o outro mude, o script funcionou tudo certinho porém necessito que ele rode de minuto em minuto para fazer essa verificação.
Coloquei ele na cron na seguinte forma:
*/1 * * * * root /home/fernando/internet.sh
Porém não tem cristo que faça isso rodar. Rodando ele diretamente/manualmente tudo funciona direitinho.
Lembrando que o script usa comandos de root portanto ele necessita ser rodado com as devidas permissoes.
Desde já agradeço a ajuda.
Obrigado.
crontab -e
*/1 * * * * /home/fernando/internet.sh
ctrl + x
salva
invoke-rc.d cron restart
Re: Rodar Script na CRONTAB.
Pois é Perigoso.
Tentei dessa forma que com certeza está correta, depois de tudo que pesquisei.
Porém ele não executa, esse meu script, depois de executar as ações ele escreve em um .log.
Rodo ele manualmente funciona tudo certo e ele retorna o resultado no .log, porém com o serviço nada acontece.
Muito estranho, não faço nem ideia do que possa ser!
Re: Executar script agendado com crontab
Citação:
Postado originalmente por
skide
...ele não executa, esse meu script, depois de executar as ações ele escreve em um .log.
Rodo ele manualmente funciona tudo certo e ele retorna o resultado no .log, porém com o serviço nada acontece.
Muito estranho, não faço nem ideia do que possa ser!
O crontab roda com outro usuário e, por consequência, com outras variáveis de ambiente, o que explica "funcionar na mão", e agendado não. Verifique se o seu script possui "shebang", pois do contrário, precisará da variável "SHELL" declarada explicitamente ou informação de caminhos absolutos para os arquivos relacionados (retornado do comando "whereis").
Re: Rodar Script na CRONTAB.
Pois trober.
Meu script é o seguinte:
Código :
#!/bin/bash
# Observacoes
#
# Esse script prove de forma simples e eficiente uma redundancia entre
# dois links de internet (sem load balance), sendo um link principal e o outro de backup.
#
# Gateway ativo
# Esse comando vefirica qual o link esta como padrao, se o link tiver como padrao o GW1
# ele vai pingar no ip externo e se responde e porque o link esta normal e nao faz mais nada
export LC_ALL=C
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
GWUP=`ip route show | grep ^default | cut -d " " -f 3`
# Gateway Principal
GW1=177.72.66.185; export GW1 # Substitua pelo gateway do seu link principal
# Gateway Slave
GW2=200.18.45.201; export GW2 # Substitua pelo gateway do seu link backup
# Etapa 1 = Verifica se o gateway e o principal, ser for ele vai pra etapa 2 se nao for ele vai pra etapa 2.1
if [ $GWUP == $GW1 ]; then
# Etapa 2 = Informa com log que a rota principal e o gateway 1 e vai para a etapa 6
echo "`date` - Rota default Principal! " >> redundancia.log
else
# Etapa 2.1 = Informa com log que a rota principal e o gateway 2 e vai para a etapa 3
echo "`date` - Rota default Slave! " >> redundancia.log
# Etapa 3 = Verifica a disponibilidade do link com gateway 1
echo "`date` - Verificando a disponibilidade do link ZUMPNET..." >> redundancia.log
route add -net 0.0.0.0 gw $GW1
ping -I eth1 200.160.2.3 -c 5 -A > /dev/null
if [ $? -eq 0 ]; then
# Epata 4 = Se o gateway principal voltou ele exclui a rota do gateway 2 para manter o gatewy 1 ativo
echo "`date` - Link pricipal voltou!" >> redundancia.log
route del -net 0.0.0.0 gw $GW2
exit 0
else
# Etapa 5 = Agora se o gatewy principal nao voltou, ele deleta a rota o gatewy 1 e mantem a rota do gateway 2
echo "`date` - Link principal ainda nao voltou..." >> redundancia.log
echo "`date` - Link de backup sera mantido." >> redundancia.log
route del -net 0.0.0.0 gw $GW1
exit 0
fi
fi
# Etapa 6 = Testando se o link principal com gateway 1 esta normal, se tiver ele vai pra etapa 7
echo "`date` - Testando Link Principal..." >> redundancia.log
ping -I eth1 200.160.2.3 -c 5 -A > /dev/null
if [ $? -eq 0 ]; then
# Etapa 7 = Diz que o link principal com gateway 1 esta normal e finaliza
echo "`date` - Link Principal UP!" >> redundancia.log
else
# Etapa 8 = Diz que o link principal nao esta funcionado e deleta a rota do gateway um e adiciona rota ao gateway 2
echo "`date` - Link Principal DOWN..." >> redundancia.log
echo "`date` - Subindo Link de backup..." >> redundancia.log
route del -net 0.0.0.0 gw $GW1
ip route add default via $GW2
fi
sleep 5
Acha que tem alguma coisa a ver com o que você mencionou a cima?
Desde já agradeço a sua ajuda.
Re: Rodar Script na CRONTAB.
Galera agradeço a ajuda de todos, mas consegui resolver o problema. O erro estava no arquivo de log, no script eu não usei o caminho absoluto e como isso roda em CRON ele nao estava escrevendo no arquivo de forma correta(Não achava o caminho do arquivo). Tudo funcionando agora. Obrigado pela ajuda de todos.