Pular para o conteúdo

[auto execuçao de scripts] [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. [auto execuçao de scripts] [RESOLVIDO]

Enviado em 28/11/2016 - 15:13h

ola, amigos/as

eu gostaria de saber se ha como fazer para um codigo em python ser executado automaticamente, sem precisar passar nenhuma parametro.

fiz um script de auto execuçao, para atualizar os computadores de uma loja, para nao atrapalhar o trabalho das pessoas, gostaria e deixar automatico, as opçoes 'auto inseridas', e a cada meia hora ou uma hora... o script apenas seguir a rotina das opçoes.

Grato!!!

Responder tópico

2. Re: [auto execuçao de scripts]

Enviado em 28/11/2016 - 15:27h

No seu código deve se ter o seguinte cabeçalho
#! /usr/bin/env python 

E esta permissão
$ chmod +x meuscript.py 

Você pode utilizar o crotrab para agendar as tarefas.
vi /etc/crontab
30 * * * * root /home/usuario/meuscriptpython.py

Assim esta agendado para cada 30 minutos rodar o script

Referencia https://wiki.python.org.br/Tutorial_Python 2.2.2


----------------------------------------------------------------------------------------
Juliano Olenick - Netguard - http://www.netguard.com.br

3. Re: [auto execuçao de scripts] [RESOLVIDO]

Enviado em 28/11/2016 - 15:36h

julianoolenick escreveu:

No seu código deve se ter o seguinte cabeçalho
#! /usr/bin/env python 

E esta permissão
$ chmod +x meuscript.py 

Você pode utilizar o crotrab para agendar as tarefas.
vi /etc/crontab
30 * * * * root /home/usuario/meuscriptpython.py

Assim esta agendado para cada 30 minutos rodar o script

Referencia https://wiki.python.org.br/Tutorial_Python 2.2.2


----------------------------------------------------------------------------------------
Juliano Olenick - Netguard - http://www.netguard.com.br
Amigo,

acontece que esse codigo rodara em maquinas com Windows, o que acaba limitando um pouco... :/

a parte do codigo que preciso modificar eh a seguinte:


def main():
global x
if len(sys.argv)==1:
msg()
exit(0)
else:
if len(sys.argv)>2:
if sys.argv[2]=="começar":
addStartup()
else:
msg()
exit(0)
if sys.argv[1]=="parar":
x=1
hide()
elif sys.argv[1]=="remoto":
x=2
hide()
elif sys.argv[1]=="checar email":
hide()
email=TimerClass()
email.start()
elif sys.argv[1]=="ftp":
x=4
hide()
else:
msg()
exit(0)
return True


teria como automatizar para cada uma das funç~~oes ser executada em um periodo de tempo?

ou apenas, para me dar uma luz, como faria para deixar um parametro estatico no codigo!? ja pensei em eliminar as outras variaveis, mas ai perde o sentido..

se puder me ajudar, fico grato!!!!

abraço!

4. Re: [auto execuçao de scripts] [RESOLVIDO]

Enviado em 28/11/2016 - 16:38h

O codigo, resumidamente, tem que executar sem a necessidade de passar parametros!!


5. Re: [auto execuçao de scripts] [RESOLVIDO]

Enviado em 28/11/2016 - 19:52h

?????????????

6. Re: [auto execuçao de scripts]

Enviado em 28/11/2016 - 20:36h

faça a função main recursiva de acordo o tempo desejado com base nos parâmetros, ex:
from time import sleep


def main(*tarefas):
if tarefas:
for num, tarefa in enumerate(tarefas):
print('Rotina {}: {}'.format(num, tarefa))
sleep(1)
print('\n')
main(*tarefas)

if __name__ == '__main__':
main('cozinhar', 'comer', 'lavar pratos')



Output:
Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos


Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos


Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/

7. Re: [auto execuçao de scripts] [RESOLVIDO]

Enviado em 28/11/2016 - 22:48h

ctw6av escreveu:

faça a função main recursiva de acordo o tempo desejado com base nos parâmetros, ex:
from time import sleep


def main(*tarefas):
if tarefas:
for num, tarefa in enumerate(tarefas):
print('Rotina {}: {}'.format(num, tarefa))
sleep(1)
print('\n')
main(*tarefas)

if __name__ == '__main__':
main('cozinhar', 'comer', 'lavar pratos')



Output:
Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos


Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos


Rotina 0: cozinhar
Rotina 1: comer
Rotina 2: lavar pratos



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/
Otimo exemplo! E para fazer a execuçao com os parametros j´´a determinados, posso me utilizar dessa funçao?



Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder