Obtendo o script PHP e configurando
Edite o arquivo abaixo:
sudo su
# visudo -f /etc/sudoers
Adicione essa linha no fim do arquivo:
www-data ALL=NOPASSWD: ALL
Salve o arquivo:
CTRL+o,
Enter e
Ctrl+x.
Saia do root:
# exit
wget https://master-dl.sourceforge.net/project/manutencao-jrf/Ubuntu-10.04/manutencao.tar.bz2
sudo tar -jxvf manutencao.tar.bz2 -C /var/www/
Alterando usuário e senha
Para não deixarmos qualquer pessoa alterar as configurações, criamos um simples sistema de login, então, mude de acordo com suas configurações. Por padrão, eu deixei usuário
user e senha
1234.
Edite o arquivo:
cd /var/www/manutencao
sudo vim valida_login.php
Altere a linha 17, colocando seu usuário e senha para ter acesso.
sudo chmod +x backup_dhcp.sh
sudo chmod +x backup.sh
sudo chmod +x restart.sh
sudo chmod +x turn_off.sh
sudo chmod 777 backup_dhcp.sh
sudo chmod 777 backup.sh
sudo chmod 777 restart.sh
sudo chmod 777 turn_off.sh
Coloque o e-mail onde vai ser enviado o backup:
sudo vim backup.sh
Permissão para poder alterar o arquivo, via PHP:
sudo chmod 777 /etc/dhcp3/dhcpd.conf
Pronto!
Acesse pelo browser:
http://192.168.1.1/manutencao
sudo vim /etc/rc.local
# Log geral
echo Houve uma queda inesperada de energia no dia: `date +%d%b%Y-%H:%M:%S` >> /var/www/manutencao/logs/geral
# Log de energia
echo Houve uma queda inesperada de energia no dia: `date +%d%b%Y-%H:%M:%S` > /var/www/manutencao/logs/energia
Consumo
sudo vim /etc/sarg_email.sh
Cole o conteúdo abaixo:
#!/bin/bash
#Roda o Sarg para gerar os relatórios
sarg
#Substitui as linhas para criação do arquivo report em /tmp
#Esta linha causa um erro e cria o report em tmp.
sed 's/#output_email mailx|mail/output_email mailx|mail/g' -i /etc/sarg/sarg.conf
#Faz uma pausa
sleep 2
#Roda o Sarg novamente, para gerar o arquivo report.
sarg
#Muda o locale para o formato do Sarg ex: **mai para **may
LANG=en_US.utf-8
#Cria uma pasta com o dia de hoje.
mkdir /var/www/consumo/`date +%d%b%Y`
#Copia o arquivo para gerar o PDF com o consumo
cp /tmp/sarg/`date +%d%b%Y-%d%b%Y`/report /var/www/consumo/`date +%d%b%Y`
# Alternativa caso o comando acima não funcione, comentar a linha acima.
#find /tmp/sarg/ -name 'report*' -exec cp -v {} /var/www/consumo/`date +%d%b%Y` \;
cp /var/www/consumo/`date +%d%b%Y`/report /var/www/consumo
#Entra na pasta para gerar o PDF para envio.
cd /var/www/consumo
#Converte o report para PDF
enscript report -o `date +%d%b%Y`.ps | ps2pdf `date +%d%b%Y`.ps
#Faz uma pausa
sleep 2
# Envia o consumo de internet dos IPs e anexa o mesmo em PDF.
mutt -c seu-e-mail@gmail.com -i /var/www/consumo/report -s "Consumo diario - Home Office" -a /var/www/consumo/`date +%d%b%Y`.pdf -- seu-e-mail@outlook.com < /dev/null
#Faz uma pausa
sleep 2
#Substitui as linhas modificadas e volta arquivo do sarg original, case rode o sarg manualmente.
sed 's/output_email mailx|mail/#output_email mailx|mail/g' -i /etc/sarg/sarg.conf
#Remove o rash do arquivo .ps na pasta de consumo.
rm `date +%d%b%Y`.ps
#Faz uma pausa
sleep 20
#Move o PDF para a pasta do dia corrente
mv `date +%d%b%Y`.pdf `date +%d%b%Y`
#Faz uma pausa
sleep 10
#Move o pasta do dia corrente com o report e o PDF gerado para uma futura auditoria, na pasta pdfs.
mv `date +%d%b%Y` pdfs
#Faz uma pausa
sleep 3
#Copia o index para exibir os arquivos no navegador.
cp pdfs/index.php pdfs/`date +%d%b%Y`
Salve o arquivo e edite o crontab; mas antes, torne-o executável:
sudo chmod +x /etc/sarg_email.sh
sudo vim /etc/crontab
# envia o e-mail às 19:30 (Horário que não haja funcionamento)
30 19 * * * root cd /etc/ && ./sarg_email.sh
sudo chmod 777 /etc/sarg_email.sh
sudo chmod +x /etc/sarg_email.sh
Para envio de e-mail, faça:
sudo apt-get install mutt
- Na mensagem da tela faça: OK
- Depois: SITE DE INTERNET
- Agora: seu-e-mail@gmail.com
Outras aplicações que talvez sejam necessárias para o funcionamento correto:
sudo apt-get install urlview muttprint muttprint-manual mutt-patched w3m enscript
Configurando:
sudo vim ~/.muttrc
#
set from = "seu-e-mail@gmail.com"
set realname = "Nome da Empresa"
#
set imap_user = "seu-e-mail@gmail.com"
set imap_pass = "senha"
#
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed ="+[Gmail]/Drafts"
set trash = "imaps://imap.gmail.com/[Gmail]/Trash"
#
set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates
#
set smtp_url = "smtp://seu-e-mail@smtp.gmail.com:587/"
set smtp_pass = "senha"
#
Agora, crie as duas pastas:
sudo mkdir .mutt
sudo mkdir .mutt/cache
sudo su
Repita os passos acima como root (extremamente necessário para envio de e-mails.)
O resultado final vai ser este:
O arquivo também vai ser enviado por e-mail.