cytron
(usa Slackware)
Enviado em 09/05/2009 - 12:09h
No php tem funções para executar comandos no shell:
sytem(), exec() e outros veja em
www.php.net/system
Mas lembre-se, os comandos serão rodados pelo user do apache, que geralmente é nobody ou daemon... imagina quantos privilégios tem esse user em um shell. Você terá que dar alguns poderes para ele, isso é um pouco arriscado, pois um ataque pode se beneficiar desses privilégios.
Do meu ponto de vista o melhor é criar um engine em perl ou C++ onde você controla ele via web. De um server para outro você cria um protocolo em alguma porta para falar de um engine a outro.
Webmin é muito bom para controlar um servidor. Na verdade acho que não existe melhor.
Estou desenvolvendo um sistema web que controla todos os servidores de um ISP, eu tenho um provedor wireless e nunca fiquei satisfeito com as soluções disponíveis no mercado, sempre tem coisa demais ou falta muita coisa, e infelismente o que tem nesses sistemas é para aquela velha estrutura básica de MAC, IP, MK, ...
Conclução, esses sistemas requer que você mude sua estrutura, pois eles não se adaptam.
A minha primeira versão do sistema (1 ano de evolução) utiliza php e scripts em bash (eu queria perl, mas acho que não tenho cabeça pra mais uma linguagem hehe).
Agora a nova versão que estou desenvolvendo vai utilizar um módulo "operário" em cada servidor (daemon em C++) escutando em uma porta, no servidor web vai ficar o módulo "controle" (daemon C++ e PHP).
Através da interface web o módulo "controle" vai controlar os "operários" via protocolo próprio diretamente nas portas definidas.
Como serão daemons eles retonarão com a situação ou eventos, ou seja, através da interface web posso saber tudo o que se passa com os servidores, tomar decisões ou deixar no piloto automático, onde o "controle" perceberá um servidor com problema e tentará resolver, seja reiniciando o serviço ou o servidor.
Meu sistema atual no piloto automático verifica a disponibilidade da net, refaz rota, reinicia daemons, faz backup de arquivos cheios (logs), backups de conf, bkp DB.
Ainda tem o módulo "guardião", este zela pela segurança do ISP, verificando serviços, portas, alguns protocolos, temperaturas, clocks, ataques, ...
O módulo "administrativo" cuida dos clientes, ele verifica pagamentos, caixa, bloqueios, conexões e tudo mais relacionado aos clientes.
Uma vez me perguntaram quando é que este sistema fica pronto... kkkkk, a resposta é simples:
NUNCA
Sempre tem pra onde evoluir e controlar, pois a cada tempo que passa mais um servidor é incorporado na rede com um novo serviço ou extensão.
Com isso o sistema tem novos tentáculos para crescer.
Por enquanto não posso disponibilizar o sistema na internet por dois simples motivos:
1. Não está no padrão de publicação, ou seja, falta colocar comentários, documentação, direitos autorais, aparência (kkkk, não me preocupei com a cara dele... tá feia pacas! Tá muito simples, tipo um phpmyadmin... eu quero é explorar a web 2.0).
2. Geralmente estou implantando ISP para pessoas interessadas em ganhar uma grana fácil (hehehe) e já faço o pacote completo, ou seja, monto o ISP e vendo o sistema.
Resultado... tenho cliente ISP com 500 usuários e o cara não precisa esquentar a muringa com os servidores, nem pra receber dos clientes, muito menos pra ficar liberando cliente ou bloqueando, e nem cadastrando. O técnico que instala já cadastra o cliente no ato da instalação. O único trabalho do cara é entrar no sistema e dar uma olhada como está a situação dos servidores, olhar quantos clientes já tem e quanto dinheiro já entrou hehehe.
O meu ponto de vista é o seguinte:
O provedor tem que funcionar sozinho, em quase todos os sentidos, do serviço até o dinheiro.
Alguns já me criticaram dizendo que sou doido por fazer assim, mas hora bolas! kkkkk, eu sou maluco mesmo. Não trabalho pra ninguém, nunca gostei de ser empregado, nunca assinaram minha carteira (meu maior orgulho ;), gosto de linux, muito linux, programação, principalmente gosto de ter tempo livre pra fazer minhas coisas, que é: evoluir no linux, família e curtição. Ou eu abria mão dos meus interesses ou eu fazia a situação se adaptar. Eu preferí adaptar a situação fazendo meu provedor ficar totalmente automatizado.
De qualquer parte do mundo posso entrar no sistema web e ver até as tripas dos servidores... ou seja, Ilha Fernando de Noronha... esse ano eu vou te ver!
Minha atendente de telemarketing vende e dá suporte, meu técnico instala e mantém o hardware funcionando. Meu sistema cuida do resto. E quanto a mim... Acho que vou de avião mesmo.