Tag: Linux

Shell Script แจ้งเตือน SMS เมื่อ Hard Disk ใกล้เต็มแบบฟรีๆ

สวัสดีครับต่อยอดจากเรื่อง Server Down รู้ได้ทันทีผ่าน SMS แถมฟรี ที่เขียนไว้วันก่อน วันนี้เอามาประยุกต์ให้ script เช็คสถานะของ hard disk ครับโดยให้ส่ง sms เตือนเมื่อมีการใช้งาน partition ใดๆ เกิน 90%
มาดูตัว code ของ script กันครับ

#!/bin/sh # Simple SHELL script for Linux and UNIX system monitoring with # df command # ------------------------------------------------------------------------- # Copyright (c) 2009 mrGilL # This script is licensed under GNU GPL version 2.0 or above # ------------------------------------------------------------------------- # Setup SMS User below # See URL for more info: # http://imrgill.com/2009/12/13/monitor-server-with-sms-alert-shell-script/ # ------------------------------------------------------------------------- # Hard type (hdx,sdx,scx) HDD_TYPE="sd" # Partition lists PLIST=`df -h | grep $HDD_TYPE | awk '{ print $1 }' | sed -e 's/\/dev\///g'` # Setting SMS User (Gmail) GCUSER="user@gmail.com" GCPASSWD="gmail-passwd" for p in $PLIST do disk=$(df -h | grep $p | awk '{ print $5 }' | sed -e 's/\%//g') pname=$(df -h | grep $p | awk '{ print $6 }') if [ $disk -ge 90 ]; then # disk less than 90% wget --force-html --recursive --no-check-certificate -nd --delete-after "https://imrgill.com/google_sms/gsms.php?username=$GCUSER&password=$GCPASSWD&title=$(hostname) partition $pname < 90%" fi done

วิธีนำไปใช้

1. แก้ไข HDD_TYPE เป็นประเภท hard disk ที่คุณใช้ ดูได้จากคำสั่ง fdisk -l หรือ df ผลลัพธ์ที่ได้จะประมาณ /dev/sda ตัวอย่างผมได้ sda ให้ใส่เป็น HDD_TYPE=”sd”

[mrgill@Webserver ~]$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 59515556 1260296 55183232 3% / /dev/sda8 11710104 2895576 8210084 27% /usr /dev/sda7 1019208 37992 928608 4% /tmp /dev/sda6 109109796 9092520 94385292 9% /var /dev/sda5 287660612 11604092 261208448 5% /home /dev/sda1 101086 33812 62055 36% /boot tmpfs 517284 0 517284 0% /dev/shm

*เหตุผลที่ไม่ใส่ sda ไปตรงๆ เลยก็เพราะ กรณีมี hard disk หลายลูกเช่น sda, sdb ทำให้ script ไม่สามารถตรวจสอบ hard disk ที่เป็น sdb ได้

2. แก้ไข GCUSER และ GCPASSWD เป็น user gmail ของเรา

3. กำหนดสิทธิ์ให้สามารถรันได้

[root@Webserver ~]$ chmod +x observman_disk.sh

4. นำ script ไปใส่ /etc/cron.daily/ เพื่อให้ script ทำงานทุกวัน

[root@Webserver ~]$ cp observman_disk.sh /etc/cron.daily/

หรือใครจะนำไปใส่ใน crontab ก็ไม่ว่ากัน

[root@Webserver ~]$ crontab -e
# m h dom mon dow command @daily /root/observman_disk.sh > /dev/null

หวังว่าบทความนี้คงเป็นประโยชน์ต่อผู้อ่าน

Share/Save

4 Comments December 13, 2009

Server Down รู้ได้ทันทีผ่าน SMS แถมฟรีด้วย

 

update 2015 ตอนนี้ google ยกเลิกนโยบายส่ง sms เข้ามือถือแล้วครับ เพราะ smart phone เป็นที่แพร่หลาย

update 27/09/2012 ครับ เนื่องด้วยมีผู้ใช้งาน script ผ่าน blog ของผมเป็นจำนวนมากทำให้ cpu ของเครืื่อง server hosting ทำงานหนักผมจึงขอเอาไฟล์ gsms.php ออกจาก blog นะครับใครต้องการใช้ script สามารถโหลดเอาไปติดตั้งกันได้เองตามตอนท้ายบทความได้เลยครับ

ีupdate status 06/03/2012 script ยังใช้งานได้ครับ

ก่อนอื่นขอหาวยาวๆ ก่อนกล่าวสวัสดีท่านผู้อ่านทุกท่าน  เมื่อคืนบ้าพลังอะไรไม่รู้อยากเขียน script ส่ง sms เตือนเมื่อ server down ที่จริงชาวบ้านเค้าก็ทำขายกันเยอะแยะ แต่หลังจากที่ผมได้ใช้ Google Calendar แล้วให้มันส่ง sms เตือนแถมฟรีอีก ก็เลยคิดอยากใช้ประโยชน์จากมันเพิ่มเติมก็ค้นๆ  Google อีกเช่นเคยครับ ไปเจอบทความใน ThaiAdmin เรื่อง google calendar sms ที่ท่าน smartsoft เขียนไว้ก็เลยลองโหลด Libraries Google Calendar SMS มาเล่นดูบ้าง ซึ่งเมื่อลองดูแล้วก็ถือว่าใช้งานง่ายทีเดียวเลยเอามาโมต่อ โดยให้ Shell Script เป็นตัว Submit form แทน

ความสามารถของ Script

1. ส่ง sms แจ้งเตือนเมื่อ ping ไม่เจอ server
2. เก็บ log ในตัว เพราะทุกครั้งที่มันส่ง sms มันจะไปเพิ่ม Event ใน Google Calendar ทำให้เราเข้าไปตรวจสอบย้อนหลังได้
3. ไม่ต้องเสียเงินค่าส่ง SMS แม้แต่น้อย (พี่ Google เค้าใจดี)

มาดูขั้นตอนการทำกัน

ก่อนอื่นเราก็ต้องไป Verify เบอร์มือถือใน Google Calendar ก่อนครับ ขออนุญาตท่าน smartsoft ทำรูปใหม่นะครับ
1. ขั้นแรก ล็อกอินเข้า Google Calendar http://www.google.com/calendar ก็ใช้ User ของ Gmail นั้นแหละครับ
ล็อกอินแล้วคลิกที่ Settings เพื่อไปปรับเมนูให้เป็นภาษาไทย (หากใครเป็นภาษาไทยอยู่แล้วข้ามไปขั้นตอนต่อไปได้เลย)

คลิก Settings

2. เลือก Language ให้เป็น ภาษาไทย แล้วกด Save

เลือก ภาษาไทย

(more…)

65 Comments December 11, 2009

Google Public DNS บน Ubuntu

ไม่นานมานี้ Google เปิดให้บริการใหม่นั้นคือ Google Public DNS ซึ่งเป็นบริการสอบถามชื่อและไอพีฟรีของ Google ซึ่งสิ่งที่คุณจะได้จากบริการนี้คือ

1. ความเร็วในการใช้งานบราวเซอร์
2. ความปลอดภัยที่ดีกว่า
3. ได้ผลลัพธิ์ทันทีโดยไม่ต้อง Redirect

มาดูกันว่าเราจะใช้ Google Public DNS บน Ubuntu ได้ยังไง

สำหรับใครที่ใช้ Ubuntu Desktop หรือ Linux Server ที่ Fix IP ก็สามารถเข้าไปแก้ไขไฟล์ /etc/resolv.conf ได้โดยตรง

ตัวอย่าง

root@mrgill-laptop:~# nano /etc/resolv.conf

จากนั้นแก้ไขข้อมูลในไฟล์ /etc/resolv.conf ให้เป็น

nameserver 8.8.8.8 nameserver 8.8.4.4

และสำหรับใครที่ใช้ Ubuntu Desktop แล้วรับ DHCP มาทุกครั้งที่ renew ip เราจะได้ dns ที่ dhcp แจกมาให้ซึ่งวิธีแก้ไขนี้ทำได้โดย
(more…)

Leave a Comment December 8, 2009

#หื่น : ดูวิว Yahoo บน Ubuntu ด้วย Gyachi (GyachE Imprived)

โปรแกรมสำหรับ Chat Yahoo บน Ubuntu มีมากมายครับไม่ว่า Pidgin หรือ Empathy ก็สามารถใช้เล่นแทน Yahoo messenger ได้ทั้งนั้นแต่ถ้าจะใช้ Webcam ด้วยค่อนข้างจะหายาก ตัว yahoo สำหรับ linux เองก็เหมือนจะหยุดพัฒนาไปนานแล้ว วันนี้ผมเลยเอาโปรแกรม Gyachi มาแนะนำครับ รายละเอียดของโปรแกรมสามารถเข้าไปดูได้ที่ http://gyachi.sourceforge.net/

มาดูการติดตั้งบน ubuntu กันครับ
ขั้นแรกเข้าไปดาวน์โหลดตัว gyachi ที่เป็น .deb ได้ที่ https://launchpad.net/~loell/+archive/ppa/+packages ผมใช้ karmic นะครับ ก็คลิกที่ gyachi – 1.2.2-2~karmic จากนั้นเราก็จะเห็นลิงค์ให้ดาวน์โหลดครับ gyachi_1.2.2-2~karmic_i386.deb ก็คลิกได้เลยไม่ต้องรอช้า

โหลดมาแล้วก็ดับเบิลคลิก install ได้เลยครับ หรือจะใช้คำสั่งด้านล่างก็ได้

root@mrgill-laptop:~# dpkg -i gyachi_1.2.2-2~karmic_i386.deb Selecting previously deselected package gyachi. (Reading database ... 179356 files and directories currently installed.) Unpacking gyachi (from gyachi_1.2.2-2~karmic_i386.deb) ... Setting up gyachi (1.2.2-2~karmic) ... Processing triggers for desktop-file-utils ... Processing triggers for doc-base ... Processing 1 added doc-base file(s)... Registering documents with scrollkeeper...

(more…)

Leave a Comment November 26, 2009

#หื่น : อยากดู Clip บน Ubuntu ทำไง?

ไม่ต้องพูดมากครับอยากดูไฟล์ .3gp ทำไง ก็โหลดตัว Real Player มาลงเลยครับ
โดยเข้าไปที่ http://www.real.com/linux คลิก Download RealPlayer โลดครับ จะได้ไฟล์ RealPlayer11GOLD.bin มา(ผม save ไว้ที่ Desktop)

ขั้นตอนการติดตั้ง

1. เปิด Terminal ขึ้นมา (เมนู Applications >> Accessories >> Terminal)
2. เปลี่ยนตำแหน่ง Directory ไปที่ Desktop

mrgill@mrgill-laptop:~$ cd Desktop/ mrgill@mrgill-laptop:~/Desktop$ ls RealPlayer11GOLD.bin

(more…)

1 Comment November 13, 2009

แก้ปัญหาใช้คำสั่ง sudo ไม่ได้บน ubuntu

จะทำอย่างไรเมื่อคุณเผลอไปเปลี่ยน group ของ user ปัจจุบันของคุณ ตัวอย่างผมเผลอไปสั่ง

root@mrgill-laptop:~# usermod -G vboxusers mrgill

นั้นก็มีความหมายเหมือน usermod -g vboxusers mrgill เลยครับเพียง แค่ผมลืมใส่ -a เข้าไป ทำให้เกิดปัญหาเลย ปัญหาคือมันทำให้ผมหลุดออกจาก group ที่เป็น admin ทำให้ผมสั่ง sudo ไม่ได้

mrgill@mrgill-laptop:~$ sudo -s [sudo] password for mrgill: mrgill is not in the sudoers file. This incident will be reported. mrgill@mrgill-laptop:~$

วิธีแก้ก็ต้องเข้าไปใน recovery mode แล้วเข้าไปแก้ในไฟล์ /etc/group ครับ หรือจะใช้คำสั่งด้านล้างก็ได้

root@mrgill-laptop:~# usermod -G adm,admin -a mrgill

ขั้นต้นแค่ add user ของคุณให้อยู่ใน group adm กับ admin ก็พอครับ แล้วค่อยมา add group อื่นๆ ตามในหน้า gnome ก็ได้
ผลที่ได้คือ

mrgill@mrgill-laptop:~$ sudo -s [sudo] password for mrgill: root@mrgill-laptop:~#

แล้วก็มา add group อื่นๆ ตามเข้าไป

root@mrgill-laptop:~# usermod -G adm,admin,dialout,cdrom,floppy,audio,dip,video,plugdev,netdev,lpadmin -a mrgill

หวังว่าคงมีประโยชน์กับผู้อ่าน

Leave a Comment November 10, 2009

จะเอา /var/lib/mysql บน Ubuntu ไปไว้ที่อื่นทำอย่างไร

ต้องการเอา /var/lib/mysql ไปไว้ที่อื่นครับเพราะกลัวเวลาเครื่องมีปัญหาอาจทำให้ข้อมูลหายได้เพราะ /var/lib/mysql อยู่ใน / เลย(ไม่ได้แบ่ง partition แยกออกมา) วิธีแรกที่ผมทำเลยคือ

root@ubuntu:~# mv /var/lib/mysql /data/mysql root@ubuntu:~# ln -s /data/mysql /var/lib/mysql

ก็คือ move จาก /var/lib/mysql ไปไว้ที่ /data/mysql ผลคือตอน restart mysql มันจะฟ้องว่า

root@ubuntu:~# /etc/init.d/mysql restart * Stopping MySQL database server mysqld [ OK ] * Starting MySQL database server mysqld [fail]

ไปใน /var/log/syslog ก็เจอ error ประมาณนี้ แล้วจะทำไงดี

root@ubuntu:~# tail -f /var/log/syslog Nov 9 02:36:29 ubuntu kernel: [ 2394.732730] type=1503 audit(1257752189.048:131): operation="open" pid=5484 parent=5483 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/" Nov 9 02:36:30 ubuntu kernel: [ 2395.745479] type=1503 audit(1257752190.061:132): operation="open" pid=5494 parent=5493 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/" Nov 9 02:36:31 ubuntu kernel: [ 2396.761345] type=1503 audit(1257752191.080:133): operation="open" pid=5504 parent=5503 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/" Nov 9 02:36:31 ubuntu kernel: [ 2396.774493] type=1503 audit(1257752191.092:134): operation="open" pid=5513 parent=5512 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/" Nov 9 02:36:31 ubuntu /etc/init.d/mysql[5520]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in Nov 9 02:36:31 ubuntu /etc/init.d/mysql[5520]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed Nov 9 02:36:31 ubuntu /etc/init.d/mysql[5520]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Nov 9 02:36:31 ubuntu /etc/init.d/mysql[5520]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

(more…)

4 Comments November 9, 2009

จะเข้า Recovery Mode บน Ubuntu 9.10 Karmic Koala ยังไง

สวัสดีตอนเช้าครับ ฮาๆ ยังไม่ได้นอนเลย เมื่อคืนนั่งลง Ubuntu Server ให้เพื่อนทั้งคืนจนถึงเช้า นั่งทำให้ Ubuntu Server หน้าตาเหมือน Ubuntu Desktop วิธีการก็ง่ายๆ ครับ

$ sudo apt-get install ubuntu-desktop

ก็ลงไว้ให้เพื่อนมันใช้งานง่ายๆ ครับ ลงไปลงมามีปัญหาจำเป็นต้องเข้า Recovery Mode เอ๊ะแต่เจ้า 9.10 นี่มันเข้า Boot Menu ของ Grub2 ยังไงหวา ปกติมันวิ่งๆ แล้วก็เข้าหน้า login เลย กด Esc เหมือน 9.04 แล้วก็ยังเข้าไม่ได้ ก็ลอง Search ใน Google ดูก็พบคำตอบครับคือต้องกด Shift ค้างไว้ตอน Boot มันก็จะแสดงหน้าเมนูของ Grub2 มาให้เลือกนั้นเอง

Leave a Comment November 9, 2009

ติดตั้ง FileZilla FTP Client บน Ubuntu

เพิ่งเปิดเว็บได้ไม่นานครับ plugin สำหรับ wordpress ยังไม่ลงตัว บางทีก็ต้องนั่งแก้โน้นนี่บ้าง จะแก้ไขหรือ upload อะไรทีก็ต้องใช้ FTP ซึ่งตัว FTP Client ที่ผมใช้คือ Filezilla ครับ ติดตั้งง่าย ใช้งานง่าย แถมฟรีอีกด้วย

การติดตั้งก็ง่ายอย่างที่บอกไว้ครับแค่

$ sudo apt-get install filezilla

ติดตั้งแล้วเรียกโปรแกรม Filezilla โดยคลิกที่เมนู Applications >> Internet >> FileZilla

(more…)

Leave a Comment November 4, 2009

PlayOnLinux 3.7.1 ออกแล้ว

หลายคนที่เปลี่ยนมาใช้ Linux คงจะเจอปัญหาตัดทางโลกโปรแกรมที่รันบน Windows ไม่ได้ หลายคนคงคิดถึงโปรแกรม Wine ที่จำลองสภาพแวดล้อมทำให้เราสามารถติดตั้งโปรแกรมที่ทำงานบน Windows ใน Linux ได้ วันนี้ผมนำโปรแกรม PlayOnLinux มาแนะนำครับ PlayOnLinux เป็นโปรแกรมที่ช่วยให้เราสามารถติดตั้งโปรแกรมที่ทำงานบน Windows ใน Linux ได้เช่นเดียวกัน Wine

มาดูวิธีติดตั้งโปรแกรม PlayOnLinux บน Ubuntu 9.10 Karmic Koala กัน

$ sudo wget http://deb.playonlinux.com/playonlinux_karmic.list -O /etc/apt/sources.list.d/playonlinux.list $ sudo apt-get update $ sudo apt-get install playonlinux
(more…)

3 Comments November 3, 2009


Recent Entries

Random Posts

Social Network

Tag Cloud

Calendar

May 2017
S M T W T F S
« Jun    
 123456
78910111213
14151617181920
21222324252627
28293031  

Twitter: imrgill

RSS LinuxToday

RSS HowToForge

RSS UbuntuClub

RSS Blognone

RSS PowerWindowsBlog

Tag

Categories

Archives

Blogroll