Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis

Daftar Isi:

Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis
Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis

Video: Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis

Video: Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis
Video: Installing 100 Viruses - Calling Tech Support Scammers - YouTube 2024, April
Anonim
Sangat penting untuk memeriksa berbagai data log dan statistik di server Anda setiap hari, tetapi itu menjadi membosankan. Bukankah bagus untuk menerima satu email dengan semua sorotan setiap hari, sehingga Anda bahkan tidak perlu masuk ke server untuk memeriksa masalah? Panduan ini akan menunjukkan kepada Anda cara mengonfigurasi email otomatis di Linux dan Windows.
Sangat penting untuk memeriksa berbagai data log dan statistik di server Anda setiap hari, tetapi itu menjadi membosankan. Bukankah bagus untuk menerima satu email dengan semua sorotan setiap hari, sehingga Anda bahkan tidak perlu masuk ke server untuk memeriksa masalah? Panduan ini akan menunjukkan kepada Anda cara mengonfigurasi email otomatis di Linux dan Windows.

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

Email Otomatis di Linux

Kami akan menggunakan dua paket berbeda untuk mencapai ini, ssmtp dan mailutils, jadi instal keduanya dengan perintah berikut:

$ sudo apt-get install ssmtp mailutils

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

$ sudo vi /etc/ssmtp/ssmtp.conf

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

# This address will receive the emails, so enter your own email here if you want to receive them.

[email protected]

# Specify the email server here (leave as is if you’re using Gmail).

mailhub=smtp.gmail.com:587

# The domain name that the mail will come from.

rewriteDomain=gmail.com

# The email address that these emails should be from.

[email protected]

# SSL/TLS settings, required for Gmail and most other mail servers.

UseTLS=Yes

UseSTARTTLS=Yes

# The username and password to your Gmail account.

AuthUser=username

AuthPass=password

# Allow the ability to specify a from address different than the one above.

FromLineOverride=yes

Setelah selesai mengedit file, Anda ingin mengubah izin karena kata sandi Gmail Anda disimpan dalam plaintext.

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

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

Akan selalu lebih aman untuk menjadikan root sebagai pemilik file, tetapi kemudian kita harus menggunakan perintah sudo dalam skrip kita dan itu akan meminta kita untuk memasukkan kata sandi, dengan demikian mengalahkan tujuan mengotomatiskan seluruh proses ini.

Jika Anda menggunakan server bersama dan khawatir tentang kata sandi Anda disimpan dalam plaintext dan dapat dibaca oleh root, buat akun Gmail kosong atau gunakan server email yang tidak memerlukan jenis otentikasi apa pun di tempat pertama.

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

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

"Pengujian" akan berada di badan email dan subjek akan "Menguji penyiapan email." Periksa email Anda untuk memastikan Anda menerimanya.

Menulis Naskah untuk Email

Sekarang kami dapat mengirim email dari baris perintah, mari tulis skrip yang akan mengirimkan kepada kami beberapa informasi dasar tentang sistem kami.

#!/bin/bash

# Check hard drive space

echo 'Hard drive space:' > /home/geek/email.txt

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

# List the users that are logged in

echo 'Users currently logged in:' >> /home/geek/email.txt

who >> /home/geek/email.txt

# List currently running processes

echo 'Running processes:' >> /home/geek/email.txt

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

# Send the email

cat /home/geek/email.txt | mail -s 'Daily server information' [email protected]

# Delete the file we created

rm /home/geek/email.txt

Tentunya Anda bisa mendapatkan lebih banyak dengan skrip Anda dan bahkan membuat formatnya sedikit lebih bagus, tapi inilah yang tampak seperti di email kami:

Sekarang skrip ditulis dan diuji, kita dapat menggunakan cron untuk mengeksekusinya secara otomatis pada waktu yang sama setiap hari. Dalam contoh ini, kami akan mengonfigurasi email untuk dikirim pada pukul 2:00 pagi setiap pagi, sehingga kami dapat memeriksa data di kemudian hari.
Sekarang skrip ditulis dan diuji, kita dapat menggunakan cron untuk mengeksekusinya secara otomatis pada waktu yang sama setiap hari. Dalam contoh ini, kami akan mengonfigurasi email untuk dikirim pada pukul 2:00 pagi setiap pagi, sehingga kami dapat memeriksa data di kemudian hari.

$ crontab -e

Untuk email 2:00 pagi, tambahkan:

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

Kami telah menulis seluruh 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, tetapi kami telah menemukan bahwa menerapkan fungsi ini jauh lebih mudah dengan aplikasi pihak ketiga, terutama ketika menggunakan Gmail. SendEmail adalah program gratis yang tersedia untuk Windows yang membuat integrasi dengan Windows Task Scheduler dan Gmail menjadi mudah. Klik tautan di atas untuk mengunduh salinan terbaru, dan pastikan Anda mengambil versi yang didukung TLS.

Setelah Anda mengunduh SendEmail, ekstrak file zip dan tempatkan konten di suatu tempat yang dapat Anda simpan selama Anda berencana untuk mengirim email otomatis. Dalam contoh ini, kami hanya akan menyimpan program di C: SendEmail

Mari kita uji SendEmail untuk mengetahui cara kerjanya. Buka prompt perintah dengan mengetikkan cmd ke menu Mulai atau Jalankan (Ctrl + R).

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

cd C:SendEmail

Sekarang kita dapat mencoba mengirim email percobaan dengan perintah berikut:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Test email subject' -m 'This is a test email.'

Tentunya, ganti "nama pengguna" dan "kata sandi" dengan kredensial akun Anda sebelum menjalankan perintah.

Inilah yang sebenarnya dilakukan oleh perintah di atas:

sendEmail

menjalankan program.

-f

- dari alamat

-t

- untuk alamat

-s

- Server SMTP

-xu

- username akun

-xp

- kata sandi akun

-u

- Subjek email

-m

- Teks isi email

Periksa kotak masuk Anda untuk memastikan Anda menerima email tes, dan kemudian kita dapat melanjutkan dengan menulis skrip yang akan mengirimkan informasi server kepada kami.

Menulis Naskah untuk Email

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

Di sisi kanan jendela PowerShell ISE, Anda dapat membuat daftar setiap perintah yang PowerShell mampu jalankan. Ini akan memberi Anda awal yang baik dalam menghasilkan jenis-jenis informasi yang perlu Anda laporkan. Di skrip Anda, Anda juga dapat memanggil program pihak ketiga untuk menampilkan informasi juga (mis. SendEmail adalah aplikasi pihak ketiga tetapi PowerShell dan cmd dapat menggunakannya untuk menyelesaikan tugas yang biasanya tidak dapat mereka lakukan).
Di sisi kanan jendela PowerShell ISE, Anda dapat membuat daftar setiap perintah yang PowerShell mampu jalankan. Ini akan memberi Anda awal yang baik dalam menghasilkan jenis-jenis informasi yang perlu Anda laporkan. Di skrip Anda, Anda juga dapat memanggil program pihak ketiga untuk menampilkan informasi juga (mis. SendEmail adalah aplikasi pihak ketiga tetapi PowerShell dan cmd dapat menggunakannya untuk menyelesaikan tugas yang biasanya tidak dapat mereka lakukan).
Untuk skrip contoh kami, kami akan memeriksa penggunaan cakram saat ini dari drive C, menunjukkan proses yang sedang berjalan, dan menampilkan semua file yang saat ini dibagikan di seluruh jaringan.
Untuk skrip contoh kami, kami akan memeriksa penggunaan cakram saat ini dari drive C, menunjukkan proses yang sedang berjalan, dan menampilkan semua file yang saat ini dibagikan di seluruh jaringan.

# Check hard drive space

echo 'C: Drive Usage:' > C:SendEmailinfo.txt

Get-WmiObject win32_LogicalDisk -Filter 'DeviceID='C:'' | Select-Object Size,FreeSpace >> C:SendEmailinfo.txt

# List currently running processes

echo 'Running processes:' >> C:SendEmailinfo.txt

get-process >> C:SendEmailinfo.txt

# List the files/folders currently being shared

echo 'SMB shares:' >> C:SendEmailinfo.txt

get-smbshare >> C:SendEmailinfo.txt

# Send the email

type C:SendEmailinfo.txt | C:SendEmailsendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Daily server info'

# Delete the file we made

rm C:SendEmailinfo.txt

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

Setelah skrip Anda selesai, jalankan uji cepat dari perintah Jalankan untuk memastikannya berfungsi dengan benar.

Cukup gunakan

powershell

perintah dengan

-file

argumen dan tentukan jalur ke skrip Anda.

powershell -file 'c:SendEmaildaily-email.ps1'

Periksa kotak masuk Anda untuk memastikan Anda menerima email - jika tidak, periksa skrip Anda untuk kesalahan sintaks. Inilah yang dihasilkan email dari skrip contoh kami seperti:
Periksa kotak masuk Anda untuk memastikan Anda menerima email - jika tidak, periksa skrip Anda untuk kesalahan sintaks. Inilah yang dihasilkan email dari skrip contoh kami seperti:
Anda dapat bermain-main dengan pemformatan (seperti menggemakan garis kosong di antara teks) untuk membuatnya tampil lebih bagus di perangkat Anda, atau lebih baik lagi Anda dapat menggunakan program pihak ketiga yang akan menampilkan info yang dibutuhkan dalam format yang lebih mudah dibaca daripada yang dilakukan Windows ( proses scripting akan tetap sama).
Anda dapat bermain-main dengan pemformatan (seperti menggemakan garis kosong di antara teks) untuk membuatnya tampil lebih bagus di perangkat Anda, atau lebih baik lagi Anda dapat menggunakan program pihak ketiga yang akan menampilkan info yang dibutuhkan dalam format yang lebih mudah dibaca daripada yang dilakukan Windows ( proses scripting akan tetap sama).

Setelah Anda menyelesaikan masalah dalam skrip Anda, Anda dapat menggunakan Penjadwal Tugas Windows untuk mengotomatiskannya. Buka Windows Task Scheduler melalui menu Start.

Dengan Penjadwal Tugas terbuka, pilih Tindakan> Buat Tugas Dasar.
Dengan Penjadwal Tugas terbuka, pilih Tindakan> Buat Tugas Dasar.
Beri nama tugas ini sesuatu seperti "Skrip email harian" dan klik berikutnya. Di 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.
Beri nama tugas ini sesuatu seperti "Skrip email harian" dan klik berikutnya. Di 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 yang kami masukkan ke dalam perintah Jalankan sebelumnya untuk menguji skrip kami.

Direkomendasikan: