Como gerar e enviar estatísticas de computador automaticamente

Jan 23, 2025
Nuvem e Internet
CONTEÚDO NÃO CHEGADO

É importante verificar vários dados de registro e estatísticas em seu servidor todos os dias, mas está se tornando tedioso. Não seria bom receber um único e-mail com todos os destaques a cada dia, para que você nem precise entrar no servidor para verificar se há problemas? Este guia mostrará como configurar e-mails automatizados no Linux e Windows.

Estaremos cobrindo isso especificamente para Ubuntu e Windows 8.1, com o Gmail sendo usado como o servidor de e-mail de onde os e-mails são enviados. Se você tem outra versão do Linux ou Windows, ou prefere usar algum outro serviço de e-mail, as instruções aqui devem ser facilmente adaptáveis.

Emails automatizados no Linux

Vamos usar dois pacotes diferentes para fazer isso, ssmtp e mailutils, portanto, instale ambos com o seguinte comando:

$ sudo apt-get install ssmtp mailutils

Depois de instalados, precisamos fazer algumas alterações no arquivo de configuração SSMTP:

$ sudo vi /etc/ssmtp/ssmtp.conf

Edite o arquivo com essas alterações (é seguro apenas apagar todo o texto do arquivo e copiar / colar essas configurações, se desejar):

# Este endereço receberá os e-mails, então insira seu próprio e-mail aqui se quiser recebê-los.

[email protected]

# Especifique o servidor de e-mail aqui (deixe como está se estiver usando o Gmail).

mailhub=smtp.gmail.com:587

# O nome de domínio de onde o e-mail virá.

rewriteDomain=gmail.com

# O endereço de e-mail de onde esses e-mails devem ser.

[email protected]

# Configurações SSL / TLS, necessárias para o Gmail e a maioria dos outros servidores de e-mail.

UseTLS = Sim

UseSTARTTLS = Sim

# O nome de usuário e a senha da sua conta do Gmail.

AuthUser = nome de usuário

AuthPass = senha

# Permitir a possibilidade de especificar um endereço de remetente diferente do acima.

FromLineOverride = yes

Quando terminar de editar o arquivo, você desejará alterar as permissões, já que sua senha do Gmail é armazenada em texto simples.

$ sudo chmod 640 /etc/ssmtp/ssmtp.conf

$ sudo chown username.username /etc/ssmtp/ssmtp.conf

É sempre mais seguro tornar o root o proprietário do arquivo, mas então teríamos que usar o comando sudo em nosso script e ele nos solicitaria uma senha, anulando assim o propósito de automatizar todo o processo.

Se você estiver usando um servidor compartilhado e estiver preocupado com a possibilidade de sua senha ser armazenada em texto simples e legível pelo root, crie uma conta do Gmail descartável ou use um servidor de e-mail que não requeira nenhum tipo de autenticação.

Para ter certeza de que tudo está configurado corretamente, vamos tentar um e-mail de teste:

$ echo "Teste" | mail -s "Testando configuração de e-mail" nomedeusuá[email protected]

“Testing” estará no corpo do e-mail e o assunto será “Testing mail setup”. Verifique seu e-mail para ter certeza de que o recebeu.

Escrevendo um script para os e-mails

Agora que podemos enviar e-mails da linha de comando, vamos escrever um script que nos enviará algumas informações básicas sobre nosso sistema.

#! / Bin / Bash

# Verifique o espaço no disco rígido

echo "Espaço no disco rígido:"> /home/geek/email.txt

df -h >> /home/geek/email.txt

# Liste os usuários que estão logados

echo "Usuários atualmente conectados:" >> /home/geek/email.txt

quem >> /home/geek/email.txt

# Lista os processos em execução no momento

echo "Processos em execução:" >> /home/geek/email.txt

ps -e >> /home/geek/email.txt

# Envie o email

cat /home/geek/email.txt | mail -s "Informações diárias do servidor" nomedeusuá[email protected]

# Exclua o arquivo que criamos

rm /home/geek/email.txt

Obviamente, você pode obter muito mais detalhes com o seu script e até mesmo tornar a formatação um pouco mais agradável, mas é assim que a saída aparece em nosso e-mail:

Agora que o script está escrito e testado, podemos usar o cron para executá-lo automaticamente na mesma hora todos os dias. Neste exemplo, configuraremos o e-mail para ser enviado às 2h todas as manhãs, para que possamos analisar os dados mais tarde naquele dia.

$ crontab -e

Para e-mails das 2h, adicione:

0 2 * * * /home/geek/script.sh

Escrevemos um artigo inteiro sobre arquivos crontab se precisar de mais ajuda com esta parte.

Emails automatizados no Windows

O envio de e-mails na linha de comando é possível por meio do PowerShell, mas descobrimos que implementar essa funcionalidade é muito mais fácil com aplicativos de terceiros, especialmente ao usar o Gmail. Enviar email é um programa gratuito disponível para Windows que torna a integração com o Windows Task Scheduler e Gmail uma brisa. Clique no link acima para baixar a cópia mais recente e certifique-se de obter a versão compatível com TLS.

Depois de fazer o download de SendEmail, extraia o arquivo zip e coloque o conteúdo em algum lugar onde possa armazená-lo pelo tempo que planeja enviar e-mails automatizados. Neste exemplo, vamos apenas armazenar o programa em C: \ SendEmail

Vamos testar SendEmail para ter uma ideia rápida de como funciona. Abra um prompt de comando digitando cmd no menu Iniciar ou Executar (Ctrl + R).

Com o prompt de comando aberto, use o comando change directory para navegar até onde você armazenou os arquivos SendEmail.

cd C:\SendEmail

Agora podemos tentar enviar um e-mail de teste com o seguinte comando:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu nome de usuário -xp senha -u "Assunto do email de teste" -m "Este é um email de teste."

Obviamente, substitua “nome de usuário” e “senha” pelas credenciais de sua conta antes de executar o comando.

Aqui está o que o comando acima realmente faz:

enviar email executa o programa.

-f - a partir do endereço

-t - endereçar

-s - servidor SMTP

-moeda - Nome de usuário da conta

-xp - Senha da conta

-você - assunto do email

-m - texto do corpo do e-mail

Verifique sua caixa de entrada para certificar-se de que recebeu o e-mail de teste e, em seguida, podemos prosseguir com a redação de um script que nos enviará informações do servidor.

Escrevendo um script para os e-mails

Para obter o máximo de nosso script, vamos escrevê-lo para PowerShell. Abra o Windows PowerShell ISE digitando powershell_ise.exe em um prompt Executar (Ctrl + R).

No lado direito da janela do PowerShell ISE, você pode listar todos os comandos que o PowerShell é capaz de executar. Isso deve ser um bom começo para gerar os tipos de informações que você precisa reportar. Em seu script, você também pode chamar programas de terceiros para gerar informações também (ou seja, SendEmail é um aplicativo de terceiros, mas o PowerShell e o cmd podem usá-lo para realizar tarefas que normalmente não podem).

Para o nosso script de exemplo, verificaremos o uso atual do disco da unidade C, mostraremos os processos em execução no momento e todos os arquivos que estão sendo compartilhados na rede.

# Verifique o espaço no disco rígido

echo "C: Uso do Drive:"> C: \ SendEmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Select-Object Size, FreeSpace >> C: \ SendEmail \ info.txt

# Lista os processos em execução no momento

echo "Processos em execução:" >> C: \ SendEmail \ info.txt

get-process >> C: \ SendEmail \ info.txt

# Lista os arquivos / pastas que estão sendo compartilhados no momento

echo "compartilhamentos SMB:" >> C: \ SendEmail \ info.txt

get-smbshare >> C: \ SendEmail \ info.txt

# Envie o email

digite C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f nomedeusuá[email protected] -t nomedeusuá[email protected] -s smtp.gmail.com:587 -xu nome de usuário -xp senha -u "Informações diárias do servidor"

# Exclua o arquivo que criamos

rm C:\SendEmail\info.txt

Nesse script, várias informações são enviadas para C: \ SendEmail \ info.txt e, em seguida, o texto desse documento é enviado para nós antes de ser excluído. Salve seu script com uma extensão de arquivo ps1 (arquivo PowerShell).

Com o seu script concluído, execute um teste rápido em um prompt de execução para verificar se ele está funcionando corretamente.

Basta usar o PowerShell comando com um -Arquivo argumento e especifique o caminho para o seu script.

powershell -file "c: \ SendEmail \ daily-email.ps1"

Verifique sua caixa de entrada para ter certeza de que recebeu o e-mail - se não, verifique se há erros de sintaxe em seu script. Esta é a aparência do e-mail gerado em nosso script de exemplo:

Você pode brincar com a formatação (como ecoar linhas vazias entre o texto) para torná-la mais bonita no seu dispositivo ou, melhor ainda, pode usar um programa de terceiros que produzirá as informações necessárias em um formato mais legível do que o Windows ( o processo de script ainda será o mesmo).

Depois de resolver os problemas em seu script, você pode usar o Windows Task Scheduler para automatizá-lo. Abra o Windows Task Scheduler por meio do menu Iniciar.

Com o Agendador de tarefas aberto, selecione Ação> Criar tarefa básica.

Nomeie essa tarefa como “Script de e-mail diário” e clique em Avançar. Na próxima tela, selecione a frequência com que deseja que seu script de e-mail seja executado, provavelmente diariamente. Em seguida, escolha o horário em que deseja que o script seja executado e clique em próximo.

Agora você deve estar na parte “Ação” do assistente, selecione “Iniciar um Programa” e digite o mesmo texto que inserimos no prompt Executar anteriormente para testar nosso script.

Clique em Avançar e em Sim nesta janela:

Clique em Concluir no último menu e você concluiu o agendamento de seus e-mails automáticos.

Extract Random Data Automatically


Nuvem e Internet - Artigos mais populares

Traga sua lista de Natal para o século 21 usando uma lista de desejos da Amazon

Nuvem e Internet Dec 9, 2024

Você ainda usa listas manuscritas, documentos do Word ou e-mails como sua lista de Natal? Claro, pode ser testado e comprovado, mas essa é a maneira tradicional de fazer as coisas..


Como obter melhores alertas de preço do Steam

Nuvem e Internet Oct 20, 2025

CONTEÚDO NÃO CHEGADO O recurso de lista de desejos do Steam é útil, mas nem sempre é útil. Se você está esperando por um desconto significativo em um jogo de $ 60, cinco d..


Como personalizar notificações do Google Agenda na web

Nuvem e Internet Apr 20, 2025

O Google Agenda é, sem dúvida, uma ferramenta poderosa para gerenciar tudo, desde compromissos a programações e lembretes (e tudo mais). Por melhor que seja por padrão, existem..


O guia completo para guias de masterização no Safari

Nuvem e Internet Feb 13, 2025

CONTEÚDO NÃO CHEGADO Guias, guias gloriosas! Cada navegador da web agora os tem, incluindo Safari da Apple . Na verdade, as guias fazem parte do Safari desde o in..


Pluto.TV traz navegação de canal para cortadores de cabo - de graça

Nuvem e Internet Jan 26, 2025

Quinhentas horas de vídeo são enviadas ao YouTube a cada minuto, então você literalmente nunca poderá assistir a tudo. O verdadeiro desafio é classificar tudo o que você ..


Como fazer backup de mundos, mods e muito mais do Minecraft

Nuvem e Internet Aug 31, 2025

Minecraft é um jogo que se presta a centenas de horas de exploração e construção. Não deixe suas criações virar uma nuvem de fumaça do disco rígido moribundo; Continue len..


Aviso: ao discar 911 em um telefone celular ou serviço VoIP, o rastreamento de localização é limitado

Nuvem e Internet Dec 19, 2024

Todos nós temos vi em filmes : Alguém está em uma situação de emergência, então eles ligam para o 911 em um telefone fixo e fogem. A polícia então corre para..


Acesse seus favoritos não classificados da maneira mais fácil

Nuvem e Internet Dec 1, 2024

CONTEÚDO NÃO CHEGADO Frustrado por não ter uma maneira rápida e fácil de acessar os favoritos não classificados no navegador Firefox? Veja como é fácil mudar isso com a extensão Me..


Categorias