11Jul

Cara Menghasilkan dan Email Statistik Komputer Secara Otomatis

Penting untuk memeriksa berbagai data log dan statistik di server Anda setiap hari, namun semakin membosankan. Bukankah lebih baik menerima satu email dengan semua sorotan setiap hari, jadi Anda bahkan tidak perlu masuk ke server untuk memeriksa masalah? Panduan ini akan menunjukkan cara mengkonfigurasi email otomatis di Linux dan Windows.

Kami akan secara khusus membahas hal ini untuk Ubuntu dan Windows 8.1, dengan Gmail digunakan sebagai server email yang dikirim oleh email. Jika Anda memiliki versi lain dari Linux atau Windows, atau lebih memilih untuk menggunakan beberapa layanan email lainnya, petunjuk di sini harus mudah disesuaikan.

Automated Emails di Linux

Kita akan menggunakan dua paket yang berbeda untuk melakukannya, ssmtp dan mailutils, jadi instal keduanya dengan perintah berikut:

$ sudo apt-get install ssmtp mailutils

Setelah dipasang, kita memerlukanuntuk membuat beberapa perubahan pada file konfigurasi SSMTP:

$ sudo vi /etc/ssmtp/ ssmtp.conf

Edit file dengan perubahan ini( aman saja untuk menghapus semua teks dalam file dan copy / paste pengaturan ini, jika Anda mau):

# Alamat ini akan menerima email, jadi masukkan email Anda sendiri di sini jika Anda ingin menerimanya.

[email protected]

# Tentukan server email di sini( biarkan seperti jika Anda menggunakan Gmail).

mailhub = smtp.gmail.com: 587

# Nama domain asal surat itu.

rewriteDomain = gmail.com

# Alamat email yang seharusnya berasal dari email ini.

[email protected]

# Setelan SSL / TLS, diperlukan untuk Gmail dan sebagian besar server email lainnya.

UseTLS = Ya

GunakanSTARTTLS = Ya

# Nama pengguna dan kata sandi ke akun Gmail Anda.

AuthUser = username

AuthPass = password

# Biarkan kemampuan untuk menentukan alamat dari yang berbeda dari yang di atas.

FromLineOverride = yes

Setelah selesai mengedit file, Anda ingin mengubah hak akses karena kata sandi Gmail Anda tersimpan dalam plaintext.

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

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

Selalu lebih aman untuk membuat akar pemilik file, tapi kemudian kita harus menggunakan perintah sudo di skrip kita dan itu akanmeminta kami untuk kata sandi, sehingga mengalahkan tujuan mengotomatisasi keseluruhan proses ini.

Jika Anda menggunakan server bersama dan khawatir tentang kata sandi Anda tersimpan dalam plaintext dan dapat dibaca oleh root, buat akun Gmail yang dibuang atau gunakan server email yang tidak memerlukan jenis otentikasi terlebih dahulu.

Untuk memastikan semuanya sudah dikonfigurasi dengan benar, mari kita coba email percobaan:

$ echo "Testing" |mail -s "Testing mail setup" [email protected]

"Testing" akan masuk ke dalam tubuh email dan subjeknya adalah "Testing mail setup." Periksa email Anda untuk memastikan Anda menerimanya.

Menulis Skrip untuk Email

Sekarang kita dapat mengirim email dari baris perintah, mari tulis naskah yang akan memberi kami beberapa informasi dasar tentang sistem kami.

#!/bin/ bash

# Periksa ruang harddisk

echo "Ruang hard drive:" & gt;/home/geek/ email.txt

df -h & gt; & gt;/home/geek/ email.txt

# Cantumkan pengguna yang masuk ke

echo "Pengguna yang saat ini masuk:" & gt; & gt;/home/geek/ email.txt

siapa & gt; & gt;/home/geek/ email.txt

# Daftar proses yang sedang berjalan saat ini

echo "Running processes:" & gt; & gt;/home/geek/ email.txt

ps -e & gt; & gt;/home/geek/ email.txt

# Kirimkan email

cat /home/geek/ email.txt |mail -s "Informasi server harian" [email protected]

# Hapus file yang kami buat

rm /home/geek/ email.txt

Jelas Anda bisa mendapatkan lebih banyak konten dengan naskah Anda dan bahkan membuat pemformatannya sedikit lebih bagus, tapiInilah tampilan seperti di email kami:

Setelah naskah ditulis dan diuji, kita bisa menggunakan cron untuk secara otomatis menjalankannya pada waktu yang sama setiap hari. Dalam contoh ini, kita akan mengkonfigurasi email yang akan dikirim pada pukul 2:00 pagi setiap pagi, jadi kita bisa melewati data hari itu juga.

$ crontab -e

Untuk email 2:00 pagi, tambahkan:

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

Kami telah menulis keseluruhan artikel tentang file crontab jika Anda memerlukan bantuan lebih lanjut dengan bagian ini. Email Otomatis

di Windows

Mengirim email pada baris perintah dimungkinkan melalui PowerShell, namun kami mendapati bahwa penerapan fungsi ini jauh lebih mudah dengan aplikasi pihak ketiga, terutama saat menggunakan Gmail. SendEmail adalah program gratis yang tersedia untuk Windows yang membuat integrasi dengan Windows Task Scheduler dan Gmail mudah. Klik link di atas untuk mendownload salinan terbaru, dan pastikan Anda mengambil versi yang didukung TLS.

Setelah mendownload SendEmail, ekstrak file zip dan letakkan isinya di tempat yang dapat Anda simpan selama Anda berencana mengirim email otomatis. Dalam contoh ini, kita hanya akan menyimpan program di C: \ SendEmail

Mari kita uji SendEmail untuk segera merasakan bagaimana cara kerjanya. Buka command prompt dengan mengetikkan cmd ke menu Start atau Run( Ctrl + R).

Dengan command prompt terbuka, gunakan perintah change directory untuk menavigasi ke tempat Anda menyimpan file SendEmail.

cd C: \ SendEmail

Sekarang kita bisa mencoba mengirim email uji dengan perintah berikut:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xppassword -u "Uji subject email" -m "Ini adalah email percobaan."

Jelas, ganti "username" dan "password" dengan kredensial akun Anda sebelum menjalankan perintah.

Inilah perintah di atas sebenarnya:

sendEmail menjalankan program ini.

-f - dari alamat

-t - untuk alamat

-s - server SMTP

-xu - nama akun akun

-xp - sandi akun

-u - subjek email

-m - email body text

Periksa kotak masuk Anda untuk memastikanAnda menerima email uji coba, lalu kami dapat melanjutkan penulisan naskah yang akan mengirimkan informasi server kepada kami.

Menulis Skrip untuk Email

Untuk mendapatkan hasil maksimal dari skrip kami, kami akan menuliskannya untuk PowerShell. Buka Windows PowerShell ISE dengan mengetikkan powershell_ise.exe ke prompt Run( Ctrl + R).

Di sisi kanan jendela ISE PowerShell, Anda dapat mencantumkan setiap perintah yang dapat dieksekusi PowerShell. Ini akan memberi Anda awal yang baik untuk menghasilkan jenis informasi yang Anda butuhkan untuk dilaporkan. Dalam naskah Anda, Anda juga dapat meminta program pihak ketiga untuk mengeluarkan informasi juga( yaitu SendEmail adalah aplikasi pihak ketiga namun PowerShell dan cmd dapat menggunakannya untuk menyelesaikan tugas yang biasanya tidak dapat mereka lakukan).

Untuk skrip contoh kami, kami akan memeriksa penggunaan disk drive C saat ini, menunjukkan proses yang sedang berjalan, dan menunjukkan semua file yang saat ini digunakan bersama melalui jaringan.

# Periksa ruang harddisk

echo "C: Penggunaan Drive:" & gt;C: \ SendEmail \ info.txt

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

# Daftar proses yang sedang berjalan saat ini

echo "Running processes:" & gt; & gt;C: \ SendEmail \ info.txt

mendapatkan-proses & gt; & gt;C: \ SendEmail \ info.txt

# Cantumkan file / folder yang sedang dibagikan

echo "saham SMB:" & gt; & gt;C: \ SendEmail \ info.txt

get-smbshare & gt; & gt;C: \ SendEmail \ info.txt

# Kirim email

ketik C: \ SendEmail \ info.txt |C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Info server harian"

# Hapus file yang kami buat

rm C: \ SendEmail \ info.txt

Dalam skrip ini, berbagai informasi dikeluarkan ke C: \ SendEmail \ info.txt, dan kemudian teks dalam dokumen tersebut dikirimkan melalui email kepada kami sebelum dihapus. Simpan skrip Anda dengan ekstensi file ps1( file PowerShell).

Dengan skrip Anda selesai, jalankan tes cepat dari prompt Run untuk memastikannya berfungsi dengan benar.

Gunakan saja perintah PowerShell dengan argumen -file dan tentukan path ke skrip Anda.

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

Periksa kotak masuk Anda untuk memastikan Anda menerima email - jika tidak, lihatlah skrip Anda untuk kesalahan sintaksis. Inilah yang dihasilkan email dari skrip contoh kami:

Anda dapat bermain-main dengan format( seperti menggemakan baris kosong di antara teks) untuk membuatnya tampil lebih bagus di perangkat Anda, atau lebih baik lagi Anda dapat menggunakan program pihak ketiga yang akanKeluarkan info yang dibutuhkan dalam format yang lebih mudah dibaca daripada Windows( proses scripting tetap sama).

Setelah Anda menyelesaikan skrip di skrip Anda, Anda dapat menggunakan Windows Task Scheduler untuk mengotomatisasinya. Buka Windows Task Scheduler melalui menu Start.

Dengan Task Scheduler terbuka, pilih Action & gt;Buat Tugas Dasar.

Sebutkan tugas ini seperti "skrip email harian" dan klik next. Pada layar berikutnya, pilih frekuensi yang Anda inginkan untuk menjalankan skrip email Anda, mungkin setiap hari. Kemudian, pilih waktu yang Anda inginkan untuk menjalankan skrip, dan tekan berikutnya.

Sekarang Anda harus berada di bagian "Action" dari wizard, pilih "Start a Program" dan masukkan teks yang sama dengan yang kita masukkan ke prompt Run sebelumnya untuk menguji skrip kita.

Tekan next dan kemudian tekan Yes pada jendela ini:

Klik Finish pada menu terakhir, dan Anda selesai menjadwalkan email otomatis Anda.