Script que agenda no cron outros scripts

1. Script que agenda no cron outros scripts

João Vitor Cruz de Alcântara Barros
joaovtorcruz

(usa Ubuntu)

Enviado em 05/03/2016 - 19:46h

Galera, tenho um script que agenda intervalos de tempo para a execução de outros scripts, ou seja, ele agenda no cron quando vai ser a execução de outros scripts com o intervalo determinado pelo usuário.
O problema é que, não estou conseguindo mais fazer o agendamento :x

Já tinha feito algo parecido simplesmente utilizando um echo com os comandos do cron e direcionando a saída dele para o arquivo onde fica localizado o crontab, mas quando faço isso agora, ele não insere o comando no crontab.


Ideias??


  


2. Re: Script que agenda no cron outros scripts

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/03/2016 - 01:57h

Você tem o script? Cole ele no fórum e coloque as tags [ code ] e [ /code ].

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Script que agenda no cron outros scripts

João Vitor Cruz de Alcântara Barros
joaovtorcruz

(usa Ubuntu)

Enviado em 06/03/2016 - 09:27h

Amigo, segue o código! Peço que não ligue muito para identação e essas coisas, sou iniciante ainda...
Não terminei o código pois fui fazer o teste se estava funcionando primeiramente, com intervalos pré-estabelecidos mas não funcionou, então vim pedir ajuda ao VoL.
Como vc pode ver, no case de 5min, eu tenho um echo com as informações, a variável $teste tem o caminho do script que vai ser agendado, e depois eu direciono a saída para dentro da lista do crontab, como já fiz em um script anterior e deu certo


#!/bin/bash

teste="home/joao/Documentos/PCC/Teste.sh"
email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )
if [ -z $email]; then

while [ -z $email ]; do


zenity --info \
--text="Por favor, insira seu email"

email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )

done

fi

escolha=$(zenity --width=350 --height=300 --list --column "Escolha sua opção de agendamento" --title="Relatorios Linux" \
"De 5 em 5 minutos" \
"De 10 em 10 minutos" \
"De 15 em 15 minutos" \
"De 30 em 30 minutos" \
"De 1 em 1 hora"
)

case "${escolha}" in
"De 5 em 5 minutos" )

echo "*/5 * * * * $teste" >> /tmp/crontab.ZuGRJy/crontab
echo " "
;;
"De 10 em 10 minutos" )

zenity --info \
--text="Você escolheu 10 minutos"
;;
"De 15 em 15 minutos" )

zenity --info \
--text="Você escolheu 15 minutos"
;;
"De 30 em 30 minutos" )

zenity --info \
--text="Você escolheu 30 minutos"
;;

"De 1 em 1 minutos" )

zenity --info \
--text="Você escolheu 1 hora"

esac




4. Re: Script que agenda no cron outros scripts

João Vitor Cruz de Alcântara Barros
joaovtorcruz

(usa Ubuntu)

Enviado em 06/03/2016 - 09:27h

Amigo, segue o código! Peço que não ligue muito para identação e essas coisas, sou iniciante ainda...
Não terminei o código pois fui fazer o teste se estava funcionando primeiramente, com intervalos pré-estabelecidos mas não funcionou, então vim pedir ajuda ao VoL.
Como vc pode ver, no case de 5min, eu tenho um echo com as informações, a variável $teste tem o caminho do script que vai ser agendado, e depois eu direciono a saída para dentro da lista do crontab, como já fiz em um script anterior e deu certo


#!/bin/bash

teste="home/joao/Documentos/PCC/Teste.sh"
email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )
if [ -z $email]; then

while [ -z $email ]; do


zenity --info \
--text="Por favor, insira seu email"

email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )

done

fi

escolha=$(zenity --width=350 --height=300 --list --column "Escolha sua opção de agendamento" --title="Relatorios Linux" \
"De 5 em 5 minutos" \
"De 10 em 10 minutos" \
"De 15 em 15 minutos" \
"De 30 em 30 minutos" \
"De 1 em 1 hora"
)

case "${escolha}" in
"De 5 em 5 minutos" )

echo "*/5 * * * * $teste" >> /tmp/crontab.ZuGRJy/crontab
echo " "
;;
"De 10 em 10 minutos" )

zenity --info \
--text="Você escolheu 10 minutos"
;;
"De 15 em 15 minutos" )

zenity --info \
--text="Você escolheu 15 minutos"
;;
"De 30 em 30 minutos" )

zenity --info \
--text="Você escolheu 30 minutos"
;;

"De 1 em 1 minutos" )

zenity --info \
--text="Você escolheu 1 hora"

esac




5. Re: Script que agenda no cron outros scripts

João Vitor Cruz de Alcântara Barros
joaovtorcruz

(usa Ubuntu)

Enviado em 06/03/2016 - 09:34h

Amigo, segue o código! Peço que não leve em consideração identação e outras coisas, a não ser que esteja errado mesmo, pois ainda sou iniciante...
O código ainda não está terminado, pois fui testar para ver se funcionava primeiramente. Vc pode até ver que o fiz com intervalos já estabelecidos.
Como pode ver, no case de 5 minutos, há um echo com os comandos do crontab e a var $teste tem o caminho do local do script. E direciono para o local que o crontab fica, como já fiz uma vez em outro script e funcionava corretamente.


#!/bin/bash


teste="home/joao/Documentos/PCC/Teste"


email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )
if [ -z $email]; then

while [ -z $email ]; do


zenity --info \
--text="Por favor, insira seu email"

email=$( zenity --entry \
--width=300 --height=200 \
--title="Relatorio Linux" \
--text="Insira seu e-mail" \
--entry )

done

fi

escolha=$(zenity --width=350 --height=300 --list --column "Escolha sua opção de agendamento" --title="Relatorios Linux" \
"De 5 em 5 minutos" \
"De 10 em 10 minutos" \
"De 15 em 15 minutos" \
"De 30 em 30 minutos" \
"De 1 em 1 hora"
)
case "${escolha}" in
"De 5 em 5 minutos" )
echo "*/5 * * * * $teste" >> /tmp/crontab.ZuGRJy/crontab
echo " "
;;
"De 10 em 10 minutos" )
zenity --info \
--text="Você escolheu 10 minutos"
;;
"De 15 em 15 minutos" )
zenity --info \
--text="Você escolheu 15 minutos"
;;
"De 30 em 30 minutos" )
zenity --info \
--text="Você escolheu 30 minutos"
;;
"De 1 em 1 minutos" )

zenity --info \
--text="Você escolheu 1 hora"
esac









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts