A linha de comando de Linux pode ser muito poderosa uma vez que você sabe a usar. Você pode analisar gramaticalmente dados, processos do monitor, e faz muitos de outras coisas úteis e frescas usando os. Vem frequentemente uma necessidade gerar um relatório e enviá-lo para fora. Poderia ser tão simples uma exigência quanto uma notificação que o apoio do dia atravessou a multa, ou não. Eu ajudar-lhe-ei começar começado com emissão de correios da linha de comando de Linux e em certificados de escudo. Nós cobriremos também a emissão de acessórios da linha de comando. Nós começaremos com o comando do “correio”.
CORREIO
O primeiro funcionamento um teste rápido a certificar-se a aplicação do “sendmail” é instalado e trabalhando corretamente. Execute o seguinte comando, substituindo “you@youremailid.com” com seu endereço do E-mail.
# correio - mundo” you@youremailid.com de s “Hello
Bata a chave do retorno e você virá a uma linha nova. Incorpore o texto “que este é um teste de meu usuário”. Continuação o texto batendo a chave do retorno outra vez. Bata então a combinação chave de Control+D para continuar. O alerta de comando perguntar-lhe-á se você quiser marcar uma cópia do correio a qualquer outro endereço, batida Control+D outra vez. Verifique sua caixa postal. Este comando emitirá para fora um correio à identificação do email mencionada com o assunto, “Hello mundo”.
Para adicionar o índice ao corpo do correio ao funcionar o comando você pode usar as seguintes opções. Se você quiser adicionar o texto no seus próprios:
# ecoe “isto entrará no corpo do correio.” | correio - mundo” you@youremailid.com de s “Hello
E se você quiser o correio ler o índice de uma lima:
# correio - mundo” you@youremailid.com de s “Hello
Algumas outras opções úteis no comando do correio são:
- assunto de s (O assunto do correio)
- email address de c (Marque uma cópia a este “email address”, ou o centímetro cúbico)
- email address de b (Marque uma cópia de carbono cega a este “email address”, ou BCC)
É aqui como você pôde usar estas opções:
# ecoe a “boa vinda ao mundo de Calvin n Hobbes” | correio - mundo” calvin@cnh.com de s “Hello - c hobbes@cnh.com - b susie.derkins@cnh.com
MUTT
Um de inconvenientes principais de usar o comando do correio é que não suporta a emissão dos acessórios. o mutt, na uma mão, suporta-a. Eu encontrei esta característica particularmente útil para os certificados que geram os relatórios ou os apoios non-textual que são relativamente pequenos no tamanho de que eu gostaria ao apoio em outra parte. Of course, mutt allows you to do a lot more than just send attachments. It is a much more complete command line mail client than the “mail” command. Right now we’ll just explore the basic stuff we might need often. Here’s how you would attach a file to a mail:
# echo “Sending an attachment.” | mutt -a backup.zip -s “attachment” calvin@cnh.com
This command will send a mail to calvin@cnh.com with the subject (-s) “attachment”, the body text “Sending an attachment.”, containing the attachment (-a) backup.zip. Like with the mail command you can use the “-c” option to mark a copy to another mail id.
SENDING MAIL FROM A SHELL SCRIPT
Now, with the basics covered you can send mails from your shell scripts. Here’s a simple shell script that gives you a reading of the usage of space on your partitions and mails the data to you.
#!/bin/bash
df -h | mail -s “disk space report” calvin@cnh.com
Save these lines in a file on your Linux server and run it. You should receive a mail containing the results of the command. If, however, you need to send more data than just this you will need to write the data to a text file and enter it into the mail body while composing the mail. Here’s and example of a shell script that gets the disk usage as well as the memory usage, writes the data into a temporary file, and then enters it all into the body of the mail being sent out:
#!/bin/bash
df -h > /tmp/mail_report.log
free -m >> /tmp/mail_report.log
mail -s “disk and RAM report” calvin@cnh.com
Now here’s a more complicated problem. You have to take a backup of a few files and mail then out. First the directory to be mailed out is archived. Then it is sent as an email attachment using mutt. Here’s a script to do just that:
#!/bin/bash
tar -zcf /tmp/backup.tar.gz /home/calvin/files
echo | mutt -a /tmp/backup.tar.gz -s “daily backup of data” calvin@cnh.com
The echo at the start of the last line adds a blank into the body of the mail being set out.
This should get you started with sending mails form the Linux command line and from shell scripts. Read up the “man page” for both mail and mutt for more options.
Related Posts:





























{ 3 comments… read them below or add one }
You may want to have a look at smtp-client.pl. Check out the usage examples. I’d say it’s the ultimate command line smtp client, but I’m a little biased
echo | mutt -a -s /tmp/backup.tar.gz ?daily backup of data? calvin@cnh.com
should be:
echo | mutt -a /tmp/backup.tar.gz -s ?daily backup of data? calvin@cnh.com
Matt -
Thanks very much for catching that! I’ve made the correction. Cheers!
Leave a Comment