
m4iir1c10
(usa Arch Linux)
Enviado em 22/09/2009 - 08:56h
Primeiro vamos criar um script que vai verificar se voce e o root ou nao, caso seja o root ele vai prosseguir com o update caso nao seja ele vai pedir a senha e prosseguir com a instalacao logo depois.
#!/bin/bash
eu=$0 # identidade do script
vc=$(whoami) # ususario que chamou o script
if [ $vc != "root" ] # Se voce nao e o root
then zenity --info --text "Voce so pode rodar esse comando como root, digite a senha do root" --timeout 3
gksu $eu & echo $! > /tmp/eu # informa o usuario que ele precisa rodar como o root e faz a chamada do sudo na interface grafica
exit 1 # termina esse script e deixa o outro que foi chamado executar os comandos de update
fi
apt-get update # atualiza o repositorio
apt-get upgrade # atualiza o sistema
zenity --info --text "Update bem sucedido" # parabens
agora salve esse arquivo e de o nome de script.sh (ou qualquer outro nome que vc quizer, um bem sugestivo poderia ser update ), de permissao de execussao
chmod +x ~/script.sh (suponho que vc salvou na Home)
agora usando o cron vamos fazer um agendamento para o script ser executado de segunda a sexta as 11 da manha
e mandar um email para vc assim que terminar o update com o resultado do mesmo
0 11 * * 1-5 ~/script.sh 2>&1 | mail -s "Resultado do update" yourname@yourdomain.com
Para mais informacoes a respeito do crontab
http://www.vivaolinux.com.br/artigo/Agendando-tarefas-em-Linux-Unix-usando-o-cron/
uma dica que eu te dou e nao copie esse script e cole, porque o php nao faz a denticao do arquivo para rodar em shell corretamente, provavelmente vc recebera uma mensagem como shell desconhecido #!/bin/bash^m
por isso recomendo que vc digite o codigo do script no seu editor de texto. mais seguro.