Script Auto-Shutdown

Iniciado por dinis_87, 06 de Março de 2009, 08:50

tópico anterior - próximo tópico

dinis_87

Olá, numa tentativa de criar um script para desligar o pc atomaticamente criei um script da seguinte forma
Abri o editor de texto e excrevi:

#!/bin/bash
shutdown -h 18:00

e guardei como autoshutdown.py

O que pretendo saber é saber se o script está bem feito, como o por a funcionar e como o por a executar automaticamente.
Obrigado e aguardo resposta.

clcampos

Conhece um pacote chamado gShutdown?

Acho que é isso mesmo, e com ele você não precisaria de um script.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

huggsy

Ola Dinis,

O teu script tem um problema com o cabeçalho se fazes #!/bin/bash tens que fazer save .sh

para fazer save .py tens que modificar o cabeçalho e meter #!/usr/bin/pyton

para executar chmod +x nome do script

Para executar automaticamente tens que adicionar o script ao cron

crontab -e

Enjoy
In a world with Linux, who needs windows and Gates!!!

clcampos

Citação de: huggsy online 06 de Março de 2009, 15:29
Ola Dinis,

O teu script tem um problema com o cabeçalho se fazes #!/bin/bash tens que fazer save .sh

para fazer save .py tens que modificar o cabeçalho e meter #!/usr/bin/pyton

para executar chmod +x nome do script

Para executar automaticamente tens que adicionar o script ao cron

crontab -e

Enjoy

Caro huggsy isso é apenas uma convenção correto?

Crio scripts e algumas vezes coloco .sh, outras nada... outro dia até um .e para identificar um tipo de script em um projeto que fiz, e claro sem problema algum.

Até concordo com você que ele deve usar uma padronização para evitar confusão, mas caso ele crie um script e queira ele pode até colocar como extensão um .exe que não terá problemas.

Tem que  tomar cuidado de colocar o cabeçalho certo, mas não em relação a extensão, e sim ao conteúdo, ou seja, para script shell #!/bin/bash, para python #!/usr/bin/python, e assim por diante.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Jotavrj

Usa o que eu fiz!

--


#! /usr/bin/python
#-*- encoding: utf-8 -*-
import os

# Downit Project, made by Jota Vicente in Python
# Version 0.1. Without a GUI yet. I'll implement a GUI in the next version
# MIT License

class Downit:

   def __init__(self):
      print("+++++++++++++++++++++++++")
      print("+             Welcome to Downit 0.1              +")
      print("+++++++++++++++++++++++++")
      print("\n")
      choice = raw_input("Choose what do you wanna do: \n 1 - Download from a direct link \n 2 - Use apt-get \n 3 - Exit \n \n ")
   
      choice = int(choice)
      if choice == 1:
         self.askDirect()
      elif choice == 2:
         self.askApt()
      elif choice == 3:
         exit()


   def askDirect(self):
      downs = []
      number = raw_input("How many downloads do you wanna do? ")
      number = int(number)
      for i in range(0, number):
         down = raw_input(str( i + 1) + "/" + str(number) + ": Paste the link...   ")
         downs.append(down)

      for a in downs:
         os.system("wget -cpr " + a)

      os.system("shutdown -h now")



   def askApt(self):
      menu = raw_input("++ Apt Menu ++ \n 1 - Download using apt-get \n 2 - Edit repositories \n \n ")
      menu = int(menu)
      apts = []
      if menu == 1:
         number = raw_input("How many downloads do you wanna do? ")
         number = int(number)
         for i in range(0, number):
            nm = raw_input(str(i + 1) + "/" + str(number) + ": Paste the name...  ")
            apts.append(nm)
      
         for a in apts:
            os.system("apt-get install " + a)


      elif menu == 2:
         os.system("gedit /etc/apt/sources.list")
         os.system("apt-get update")
         return 0

      os.system("shutdown -h now")



if __name__ == '__main__':
   Downit()

---

Salve com a extensão .py
Vale ressaltar que pode ser usado para baixar sites inteiros até, por causa da opção cpr, além de desligar o PC depois de ter baixado.