Beranda » bagaimana » Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis

    Cara Menghasilkan dan Mengirim Statistik Komputer Secara Otomatis

    Sangat penting untuk memeriksa berbagai data log dan statistik di server Anda setiap hari, tetapi itu menjadi membosankan. Bukankah lebih baik menerima satu email dengan semua highlight setiap hari, jadi Anda bahkan tidak perlu masuk ke server untuk memeriksa masalah? Panduan ini akan menunjukkan kepada Anda 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 tempat surat dikirim. Jika Anda memiliki versi lain Linux atau Windows, atau lebih suka menggunakan beberapa layanan email lain, instruksi di sini harus mudah disesuaikan.

    Email Otomatis di Linux

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

    $ sudo apt-get install mailutils ssmtp

    Setelah itu diinstal, 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 / menempelkan 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 apa adanya jika Anda menggunakan Gmail).

    mailhub = smtp.gmail.com: 587

    # Nama domain dari mana surat akan berasal.

    rewriteDomain = gmail.com

    # Alamat email dari mana email-email ini berasal.

    [email protected]

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

    UseTLS = Ya

    UseSTARTTLS = Ya

    # Nama pengguna dan kata sandi ke akun Gmail Anda.

    AuthUser = nama pengguna

    AuthPass = kata sandi

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

    FromLineOverride = ya

    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

    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 kata sandi, sehingga mengalahkan tujuan mengotomatiskan seluruh proses ini.

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

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

    $ echo "Pengujian" | mail -s "Menguji pengaturan setup" [email protected]

    "Pengujian" akan berada di badan email dan subjeknya adalah "Pengujian pengaturan email." Periksa email Anda untuk memastikan Anda menerimanya.

    Menulis Naskah untuk Email

    Sekarang kami dapat mengirim email dari baris perintah, mari kita menulis sebuah skrip yang akan mengirimi kami beberapa informasi dasar tentang sistem kami.

    #! / bin / bash

    # Periksa ruang hard drive

    echo "Ruang hard drive:"> /home/geek/email.txt

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

    # Sebutkan pengguna yang masuk

    echo "Pengguna saat ini masuk:" >> /home/geek/email.txt

    siapa >> /home/geek/email.txt

    # Daftar proses yang sedang berjalan

    echo "Menjalankan proses:" >> /home/geek/email.txt

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

    # Kirim email

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

    # Hapus file yang kami buat

    rm /home/geek/email.txt

    Tentunya Anda bisa mendapatkan jauh lebih mendalam dengan skrip Anda dan bahkan membuat format sedikit lebih bagus, tetapi seperti inilah hasilnya di email kami:

    Sekarang skrip ditulis dan diuji, kita dapat menggunakan cron untuk secara otomatis menjalankannya pada waktu yang sama setiap hari. Dalam contoh ini, kami akan mengonfigurasi email untuk dikirim pada jam 2:00 pagi setiap pagi, sehingga kami dapat melihat data nanti hari itu.

    $ crontab -e

    Untuk email jam 02:00, tambahkan:

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

    Kami telah menulis seluruh artikel pada file crontab jika Anda memerlukan bantuan lebih lanjut dengan bagian ini.

    Email Otomatis di Windows

    Mengirim email di baris perintah dimungkinkan melalui PowerShell, tetapi kami menemukan bahwa menerapkan fungsi ini jauh lebih mudah dengan aplikasi pihak ketiga, terutama saat menggunakan Gmail. SendEmail adalah program gratis yang tersedia untuk Windows yang menjadikan 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 letakkan konten di suatu tempat yang dapat Anda simpan selama Anda berencana untuk mengirim email otomatis. Dalam contoh ini, kita hanya akan menyimpan program di C: \ SendEmail

    Mari kita coba SendEmail untuk mengetahui cara kerjanya. Buka prompt perintah dengan mengetik cmd ke menu Start atau Run (Ctrl + R).

    Dengan prompt perintah terbuka, gunakan perintah direktori perubahan 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 5-108 -xu username -xp password -u "Uji subjek email" -m "Ini adalah email pengujian."

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

    Inilah yang sebenarnya dilakukan perintah di atas:

    mengirim email menjalankan program.

    -f - dari alamat

    -t - ke alamat

    -s - Server SMTP

    -xu - username akun

    -xp - kata sandi akun

    -kamu - subjek email

    -m - teks isi email

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

    Menulis Naskah untuk Email

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

    Di sisi kanan jendela PowerShell ISE, Anda bisa mendaftar setiap perintah yang dapat dieksekusi PowerShell. Ini akan memberi Anda awal yang baik dalam menghasilkan jenis informasi yang Anda perlu laporkan. Dalam 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 dilakukan).

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

    # Periksa ruang hard drive

    echo "C: Drive Usage:"> C: \ SendEmail \ info.txt

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

    # Daftar proses yang sedang berjalan

    echo "Menjalankan proses:" >> C: \ SendEmail \ info.txt

    dapatkan proses >> C: \ SendEmail \ info.txt

    # Cantumkan file / folder yang saat ini dibagikan

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

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

    # Kirim email

    ketik C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com 5-108 -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 diemailkan kepada kami sebelum dihapus. Simpan skrip Anda dengan ekstensi file ps1 (file PowerShell).

    Dengan skrip Anda selesai, jalankan tes cepat dari Run prompt untuk memastikan itu berfungsi dengan baik.

    Cukup gunakan PowerShell perintah dengan a -mengajukan argumen dan tentukan path ke skrip Anda.

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

    Periksa kotak masuk Anda untuk memastikan Anda menerima email - jika tidak, periksa skrip Anda untuk kesalahan sintaks. Seperti inilah bentuk email yang dihasilkan dari contoh skrip kami:

    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 diperlukan dalam format yang lebih mudah dibaca daripada Windows ( proses scripting akan tetap sama).

    Setelah Anda menyelesaikan kerutan dalam skrip, Anda dapat menggunakan Penjadwal Tugas Windows untuk mengotomatiskannya. Buka Penjadwal Tugas Windows melalui menu Mulai.

    Dengan Penjadwal Tugas terbuka, pilih Aksi> Buat Tugas Dasar.

    Beri nama tugas ini seperti "Naskah email harian" dan klik next. Pada layar berikutnya, pilih frekuensi yang Anda inginkan untuk menjalankan skrip email Anda, mungkin setiap hari. Kemudian, pilih waktu Anda ingin skrip dijalankan, 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 dalam prompt Run sebelumnya untuk menguji skrip kami..

    Tekan berikutnya dan kemudian tekan Ya di jendela ini:

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