Laman » bagaimana untuk » Cara Menghasilkan Automatik dan Statistik Komputer E-mel

    Cara Menghasilkan Automatik dan Statistik Komputer E-mel

    Adalah penting untuk memeriksa pelbagai data log dan statistik pada pelayan anda setiap hari, tetapi ia berkembang menjadi membosankan. Bukankah lebih baik menerima e-mel tunggal dengan semua sorotan setiap hari, jadi anda tidak perlu mendapatkan pelayan untuk memeriksa masalah? Panduan ini akan menunjukkan kepada anda cara mengkonfigurasi e-mel automatik di Linux dan Windows.

    Kami akan secara khusus meliputi ini untuk Ubuntu dan Windows 8.1, dengan Gmail digunakan sebagai pelayan e-mel yang dihantar melalui e-mel. Jika anda mempunyai versi lain dari Linux atau Windows, atau memilih untuk menggunakan beberapa perkhidmatan e-mel lain, arahan di sini harus mudah disesuaikan.

    E-mel Automatik di Linux

    Kami akan menggunakan dua pakej yang berlainan untuk mencapai ini, ssmtp dan mailutils, jadi pasang kedua-dua mereka dengan arahan berikut:

    $ sudo apt-get memasang ssmtp mailutils

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

    $ sudo vi /etc/ssmtp/ssmtp.conf

    Edit fail dengan perubahan ini (selamat untuk memadamkan semua teks dalam fail dan salin / tempel tetapan ini, jika ingin):

    # Alamat ini akan menerima e-mel tersebut, jadi masukkan e-mel anda sendiri di sini jika anda ingin menerimanya.

    [email protected]

    # Tentukan pelayan e-mel di sini (tinggalkan seperti jika anda menggunakan Gmail).

    mailhub = smtp.gmail.com: 587

    # Nama domain yang akan dihantar oleh e-mel.

    rewriteDomain = gmail.com

    # Alamat e-mel yang e-mel ini harus dari.

    [email protected]

    # Tetapan SSL / TLS, diperlukan untuk Gmail dan kebanyakan pelayan mel yang lain.

    UseTLS = Ya

    UseSTARTTLS = Ya

    # Nama pengguna dan kata laluan ke akaun Gmail anda.

    AuthUser = username

    AuthPass = kata laluan

    # Benarkan keupayaan untuk menentukan dari alamat berbeza daripada yang di atas.

    FromLineOverride = ya

    Apabila anda selesai mengedit fail, anda akan mahu menukar kebenaran kerana kata laluan Gmail anda disimpan dalam plaintext.

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

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

    Ia sentiasa lebih selamat untuk membuat root pemilik fail, tetapi kemudian kita perlu menggunakan perintah sudo dalam skrip kita dan ia akan menggesa kita untuk kata laluan, dengan itu mengalahkan tujuan mengautomasikan keseluruhan proses ini.

    Jika anda menggunakan pelayan kongsi dan bimbang tentang kata laluan anda yang disimpan dalam plaintext dan boleh dibaca oleh root, buat akaun Gmail yang lapang atau gunakan pelayan e-mel yang tidak memerlukan sebarang jenis pengesahan di tempat pertama.

    Untuk memastikan semuanya dikonfigurasikan dengan betul, mari kita mencuba e-mel ujian:

    $ echo "Testing" | mel-"Menguji persediaan mel" [email protected]

    "Ujian" akan berada di dalam e-mel dan subjeknya akan "Menguji persediaan mel." Semak e-mel anda untuk memastikan anda menerimanya.

    Menulis Skrip untuk E-mel

    Sekarang kita dapat menghantar e-mel dari baris arahan, mari kita tulis skrip yang akan menghantar kepada kita beberapa maklumat asas mengenai sistem kami.

    #! / bin / bash

    # Periksa ruang cakera keras

    echo "Ruang cakera keras:"> /home/geek/email.txt

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

    # Senaraikan pengguna yang dilog masuk

    echo "Pengguna yang sedang log masuk:" >> /home/geek/email.txt

    yang >> /home/geek/email.txt

    # Senarai sedang menjalankan proses

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

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

    # Hantar e-mel

    kucing /home/geek/email.txt | mel -s "Maklumat pelayan harian" [email protected]

    # Padam fail yang kami buat

    rm /home/geek/email.txt

    Jelas sekali, anda boleh mendapatkan lebih mendalam dengan skrip anda dan juga membuat pemformatannya sedikit lebih baik, tetapi ini adalah output yang kelihatan seperti dalam e-mel kami:

    Sekarang skrip ditulis dan diuji, kita boleh menggunakan cron untuk melaksanakannya secara automatik pada masa yang sama setiap hari. Dalam contoh ini, kami akan mengkonfigurasi e-mel untuk dihantar pada jam 2:00 pagi setiap pagi, supaya kami dapat melalui data kemudian hari itu.

    $ crontab -e

    Untuk e-mel 2:00 pagi, tambahkan:

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

    Kami telah menulis keseluruhan artikel mengenai fail crontab jika anda memerlukan lebih banyak bantuan dengan bahagian ini.

    E-mel Automatik di Windows

    Menghantar e-mel di baris arahan adalah mungkin melalui PowerShell, tetapi kami mendapati bahawa melaksanakan fungsi ini jauh lebih mudah dengan apl pihak ketiga, terutama ketika menggunakan Gmail. SendEmail adalah program percuma yang tersedia untuk Windows yang membuat integrasi dengan Windows Task Scheduler dan Gmail mudah. Klik pautan di atas untuk memuat turun salinan terkini, dan pastikan anda mengambil versi yang disokong oleh TLS.

    Sebaik sahaja anda telah memuat turun SendEmail, ekstrak fail zip dan letakkan kandungan di mana anda boleh menyimpannya selagi anda merancang untuk menghantar e-mel automatik. Dalam contoh ini, kami hanya akan menyimpan program ini dalam C: \ SendEmail

    Mari tanya SendEmail untuk mendapatkan rasa cepat untuk bagaimana ia berfungsi. Buka arahan arahan dengan menaip cmd ke dalam menu Mula atau Main (Ctrl + R).

    Dengan command prompt terbuka, gunakan arahan direktori perubahan untuk menavigasi ke mana anda menyimpan fail SendEmail.

    cd C: \ SendEmail

    Sekarang kita boleh cuba menghantar e-mel ujian dengan arahan berikut:

    sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Test subject subject" -m "Ini adalah e-mel ujian."

    Jelas, gantikan "nama pengguna" dan "kata laluan" dengan kelayakan akaun anda sebelum melaksanakan arahan.

    Inilah yang arahan di atas sebenarnya:

    menghantar e-mel melaksanakan program ini.

    -f - dari alamat

    -t - untuk menangani

    -s - Pelayan SMTP

    -xu - nama pengguna akaun

    -xp - kata laluan akaun

    -u - subjek email

    -m - teks badan e-mel

    Semak peti masuk anda untuk memastikan anda menerima e-mel ujian, dan kemudian kami boleh beralih untuk menulis skrip yang akan menghantar maklumat pelayan kami.

    Menulis Skrip untuk E-mel

    Untuk memanfaatkan skrip kami, kami akan menulisnya untuk PowerShell. Buka Windows PowerShell ISE dengan menaip powershell_ise.exe ke dalam Run prompt (Ctrl + R).

    Di sebelah kanan tetingkap PowerShell ISE, anda boleh menyenaraikan setiap arahan yang PowerShell mampu melaksanakan. Ini sepatutnya memberi anda permulaan yang baik untuk menjana jenis maklumat yang anda perlukan dilaporkan. Dalam skrip anda, anda juga boleh memanggil program pihak ketiga untuk mengeluarkan maklumat juga (iaitu SendEmail adalah aplikasi pihak ketiga tetapi PowerShell dan cmd boleh menggunakannya untuk mencapai tugas yang biasanya tidak boleh).

    Untuk skrip contoh kami, kami akan menyemak penggunaan cakera semasa pemacu C, menunjukkan proses yang sedang berjalan, dan tunjukkan semua fail yang sedang dikongsi semasa rangkaian.

    # Periksa ruang cakera keras

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

    Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Saiz Pilih-Objek, FreeSpace >> C: \ SendEmail \ info.txt

    # Senarai sedang menjalankan proses

    echo "Proses berjalan:" >> C: \ SendEmail \ info.txt

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

    # Senaraikan fail / folder yang sedang dikongsi

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

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

    # Hantar e-mel

    taip 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"

    # Padam fail yang kami buat

    rm C: \ SendEmail \ info.txt

    Dalam skrip ini, pelbagai maklumat dikeluarkan kepada C: \ SendEmail \ info.txt, dan kemudian teks dalam dokumen itu dihantar kepada kami sebelum ia dihapuskan. Simpan skrip anda dengan sambungan fail ps1 (fail PowerShell).

    Dengan skrip anda selesai, jalankan ujian cepat dari arahan Jalankan untuk memastikan ia berfungsi dengan betul.

    Hanya gunakan powershell perintah dengan a -fail hujah dan tentukan laluan ke skrip anda.

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

    Semak peti masuk anda untuk memastikan anda menerima e-mel - jika tidak, lihat skrip anda untuk ralat sintaks. Inilah yang dijana e-mel yang dihasilkan dari skrip contoh kami seperti:

    Anda boleh bermain-main dengan pemformatan (seperti mengulangi garisan kosong di antara teks) untuk menjadikannya lebih baik pada peranti anda, atau lebih baik lagi, anda boleh menggunakan program pihak ketiga yang akan mengeluarkan maklumat yang diperlukan dalam format yang lebih mudah dibaca daripada Windows tidak ( proses skrip akan tetap sama).

    Sebaik sahaja anda telah mengerjakan kinks dalam skrip anda, anda boleh menggunakan Windows Scheduler Scheduler untuk mengautomasikannya. Buka Windows Task Scheduler melalui menu Mula.

    Dengan Penjadual Tugas terbuka, pilih Tindakan> Buat Tugas Asas.

    Namakan tugas ini seperti "Skrip email harian" dan klik seterusnya. Pada skrin seterusnya, pilih kekerapan yang anda ingin skrip e-mel anda berjalan, mungkin setiap hari. Kemudian, pilih masa yang anda mahu skrip berjalan, dan tekan seterusnya.

    Kini, anda perlu berada di bahagian "Tindakan" dari penyihir, pilih "Mulakan Program" dan masukkan teks yang sama yang kami masukkan ke dalam Jalankan awal untuk menguji skrip kami.

    Tekan seterusnya dan kemudian tekan Ya pada tetingkap ini:

    Klik Selesai pada menu terakhir, dan anda selesai menjadualkan e-mel automatik anda.