Skrip shell untuk menghantar amaran e -mel apabila memori semakin rendah

Skrip shell untuk menghantar amaran e -mel apabila memori semakin rendah

Aspek kuat program shell UNIX/Linux seperti bash, adalah sokongan luar biasa mereka untuk membina pengaturcaraan biasa yang membolehkan anda membuat keputusan, melaksanakan perintah berulang kali, membuat fungsi baru, dan banyak lagi. Anda boleh menulis arahan dalam fail yang dikenali sebagai skrip shell dan melaksanakannya secara kolektif.

Ini menawarkan cara pentadbiran sistem yang boleh dipercayai dan berkesan. Anda boleh menulis skrip untuk mengautomasikan tugas, contohnya back up setiap hari, kemas kini sistem dan lain -lain; Buat Perintah/Utiliti/Alat Kustom Baru dan Beyond. Anda boleh menulis skrip untuk membantu anda bersaing dengan apa yang berlaku di pelayan.

Salah satu komponen kritikal pelayan adalah memori (Ram), ia sangat memberi kesan kepada prestasi keseluruhan sistem.

Dalam artikel ini, kami akan berkongsi skrip shell yang kecil tetapi berguna untuk menghantar e -mel amaran kepada satu atau lebih pentadbir sistem, jika memori pelayan berjalan rendah.

Ini skrip amat berguna untuk mengawasi Linux VPS (Pelayan swasta maya) dengan sedikit memori, katakan tentang 1GB (Kira -kira 990MB).

Persediaan Persekitaran Ujian

  1. A Centos/RHEL 7 pelayan pengeluaran dengan mailx utiliti dipasang dengan pelayan pos postfix yang berfungsi.

Inilah caranya alertmemory.sh Skrip berfungsi: pertama ia memeriksa saiz memori percuma, kemudian menentukan jika jumlah memori percuma kurang atau sama dengan saiz yang ditentukan (100 MB untuk tujuan panduan ini), digunakan sebagai tanda bangku untuk saiz memori percuma yang paling tidak dapat diterima.

Sekiranya keadaan ini benar, ia akan menghasilkan senarai 10 proses teratas yang memakan RAM pelayan dan menghantar e -mel amaran ke alamat e -mel yang ditentukan.

Catatan: Anda perlu membuat beberapa perubahan pada skrip (terutamanya utiliti penghantar mel, gunakan bendera yang sesuai) untuk memenuhi keperluan pengagihan linux anda.

Skrip shell untuk memeriksa memori pelayan
#!/tong/bash ############################################# #######################################script name: alertmemory.SH #Description: Hantar mel amaran apabila memori pelayan berjalan rendah #Args: #Author: Aaron Kili Kisinga #email: [E-mel dilindungi] #License: GNU GPL-3 ########### ############################################### ####################### Declare mail variables ## subjek subjek = "Makluman status memori pelayan"## Menghantar mel dari ="[dilindungi e -mel]"## Menghantar mel ke ="[dilindungi e -mel]"## Hantar salinan karbon ke juga_to ="[dilindungi e -mel]"## Dapatkan saiz memori percuma dalam megabytes (mb) percuma = $ (percuma -mt | grep total | awk 'print $ 4') ## Semak jika memori percuma kurang atau sama dengan 100MB jika [["$ percuma" -le 100 ]]; Kemudian ## Dapatkan proses teratas memakan memori sistem dan simpan ke fail sementara PS -EO PID, PPID, CMD,%MEM,%CPU -SORT = -%Mem | kepala>/tmp/top_proccesses_consuming_memory.txt file =/tmp/top_proccesses_consuming_memory.TXT ## Hantar E -mel Jika Memori Sistem Berlangsung Low Echo -E "Amaran, Memori Pelayan Berlangsung Rendah!\ n \ nfree Memory: $ free mb "| mailx -a" $ file "-s" $ subjek "-r" $ from "-c" $ to "" $ juga_to "fi exit 0 

Setelah membuat skrip anda /etc/skrip/alertmemory.sh, Jadikannya boleh dilaksanakan dan tersenyum kepada Cron.setiap jam.

# chmod +x/etc/skrip/alertmemory.sh # ln -s -t /etc /cron.Jam/AlertMemory.sh/etc/skrip/alertmemory.sh 

Ini bermaksud bahawa skrip di atas akan dijalankan selepas setiap 1 jam selagi pelayan berjalan.

Petua: Anda boleh menguji jika ia berfungsi seperti yang dimaksudkan, tetapkan nilai tanda bangku sedikit tinggi untuk mudah mencetuskan e -mel untuk dihantar, dan tentukan selang kecil kira -kira 5 minit.

Kemudian teruskan semak dari baris arahan menggunakan arahan percuma yang disediakan dalam skrip. Sebaik sahaja anda mengesahkan bahawa ia berfungsi, tentukan nilai sebenar yang anda ingin gunakan.

Berikut adalah tangkapan skrin yang menunjukkan e -mel amaran sampel.

Makluman e -mel memori linux

Itu sahaja! Dalam artikel ini, kami menjelaskan cara menggunakan skrip shell untuk menghantar e -mel amaran kepada pentadbir sistem dalam memori pelayan kes (RAM). Anda boleh berkongsi sebarang pemikiran yang berkaitan dengan topik ini, dengan kami melalui borang maklum balas di bawah.