[auto execuçao de scripts] [RESOLVIDO]

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

Roberto
mrx6s0

(usa Ubuntu)

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!!!



  


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

Juliano Vinicius Olenick
julianoolenick

(usa Ubuntu)

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]

Roberto
mrx6s0

(usa Ubuntu)

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]

Roberto
mrx6s0

(usa Ubuntu)

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]

Roberto
mrx6s0

(usa Ubuntu)

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

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


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

Jeffersson Abreu
ctw6av

(usa Nenhuma)

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]

Roberto
mrx6s0

(usa Ubuntu)

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?









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts