โค๊ด
#script clear mail root by month
#> /var/spool/mail/root
echo ‘Clear mail root by cron on:’ `du -h /var/spool/mail/root` `> /var/spool/mail/root` | mail -s “Delete mail root by cron `date` ” youmail@yourdomain.com
เซฟแล้ว
chmod 755 clearmail.sh
mv clearmail.sh /etc/cron.monthly/clearmail.sh
นานครั้งที่มันเต็ม โดยเฉพาะ mail server สามารถเข้าไปเคลียร์ง่ายโดย ไปที่ terminal ด้วยสิทธิฺ์ root แล้วตามด้วยคอมมานด้านล่าง
#> /var/mail/root
ถ้า user อื่นก็เพียงแค่เปลี่ยนจาก root เป็น username อื่น เช่น
#> /var/mail/testremoveถ้าไม่อยากมานั่งทำบ่อยๆ ก็ทำเป็น .sh ไว้แล้วใช้ cron เรียกทำงาน เป็นเดือนละครั้งก็ได้ โดย
vi clearmail.sh แล้วเพิ่มลงไปคือ
#khonkaenlinuk clear mail root v 1.0
echo 'Clear mail root by cron on:' `du -h /var/spool/mail/root` `> /var/spool/mail/root` | mail -s "Delete mail root by cron `date` " youremail@yourdomain.com
แล้วย้ายมันไปไ้ว้ที่ cron.monthly ใน /etc/cron.monthlymv clearmail.sh /etc/cron.monthly/clearmail.sh
chmod 755 /etc/cron.monthly/clearmail.sh
ลองเทสดูว่ามันทำงานไหม โดย ./clearmail.sh แล้วไปเช็คเมล์ดู
* * * * * cmd
| | | | |
| | | | +----------- day of week (0-6) 0 = sun
| | | +-------- month 1-12 (ไม่ต้องใส่ 0)
| | +--------- day of month (1 – 31)
| +------------ hour (0-23)
+ min (0-59)
ย้ายมาจาก khonkaensoft ครับ
หรือ GRUB เป็น boot loader ตัวหนึ่งของ GNU Project ซึ้งพัฒนาขึ้นเพื่อ เป็นตัวจัดการระบบบูท (Multiboot Specification) และมีหน้าที่เริ่มต้นโหลดเคอร์เนลลินุกซ์เข้าสู่หน่วยความจำของเครื่อง
GRUB อยู่ที่ไหน
ส่วนของโปรแกรม GRUB ที่ติดตั้งอยู่ที่ MBR นี้ ไม่ใช่ตัวโปรแกรมทั้งหมด หากแต่เป็นเพียงเฉพาะส่วนหนึ่งที่เรียกกันว่า Stage 1 ของ GRUB เท่านั้น ซึ่งมันจะค้นหา Stage 1.5 ของตัวมันเองไล่ลำดับไปจนถึงเคอร์เนลในที่สุด
ปัญหาที่ทำให้ GRUB เสียหายที่พบบ่อยๆ
- ลง OS สองตัวขึ้นไปในเครื่องเดียว ส่วนมากจะเป็นแบบ linux and Windows ฟอร์แมต Windows ใหม่จะทำให้ GRUB ถูกลบไปด้วย
ทางแก้ที่มี
Case A: ฟอร์แมต Windows
ขั้นตอนก็ไม่ยากก่อนอื่นก็ให้เราเอาแผ่น Live-CD (แผ่นติดตั้ง) ใส่เข้าไปแล้วบูทเข้าแผ่นมาที่ Desktop ซะก่อนจากนั้นทำตามขั้นตอนข้างล่างนี้
- ไปที่ Application>Accessories>Terminal
- พิมพ์คำสั่ง
sudo grub
จะเห็น “grub>” ขึ้นมา
- จากนั้นให้หาว่า GRUB อยู่ที่ไหนด้วยคำสั่ง
find /boot/grub/stage1
ส่วนใหญ่จะได้ค่า “(hd0,1)” ซึ่งมีความหมายดังนี้
hd0 = เราติดตั้ง Linux ไว้ทีฮาร์ดดิสก์ตัวแรก
1 = ติดตั้ง Linux ในพาร์ทิชั่นที่ 2 (พาร์ทิชั่นแรกเป็นของ Windows)
- พอได้ที่อยู่ของ GRUB แล้วก็ตั้งค่า GRUB ด้วยค่าที่ได้จากข้อ 3 โดยใช้คำสั่ง
root (hd0,1)
- ทำการติดตั้ง GRUB ด้วยคำสั่ง
setup (hd0,1)
*** สำหรับคนที่ทำแล้ว GRUB ไม่ขึ้นให้ใช้คำสั่ง setup (hd0) แทน
- ออกจาก GRUB ด้วยคำสั่ง quit
- จากนั้นรีสตาร์ทเครื่องก็จะเห็นเมนู GRUB ขึ้นมาก็สามารถใช้งานได้ตามปกติ (อย่าลืมเอาแผ่น Live-CD ออกก่อนนะ)
เท่านี้เราก็ไม่ต้องลง Linux ใหม่แล้ว ปล่อยให้ Windows ฟอร์แมตไปตามสบาย เอิ๊กๆ
link: http://thitipat.wordpress.com/2007/10/19/%E0%B8%81%E0%B8%B9%E0%B9%89%E0%B8%8A%E0%B8%B5%E0%B8%9E-grub-restoring-grub/
—————————————————————————————————————————————
Case B: error 22 ทำไปทำมาก็ 15 บ้าง 17 บ้าง
มาอีกแล้วครับต้องขอโทษด้วยครับที่ปัญหาของผมมีมาไม่มีที่สิ้นสุดเลยครับ เริ่ม กันเลยนะครับ 1.hatdisk ผมได้ลง windowsใว้ที่ไดว์ c: และจากนั้นก็มีอีก 2 partition คือ d: และ e: แล้วจากนั้นผมก็ลง ubuntu 10.4 และ open suse 10.3 ตามลำดับครับตอนที่ลง suse มันก็จะลง grub ให้โดยอัตโนมัติครับสีเขียวสวยงามมากแต่แล้วสิ่งที่ไม่คาดคิดก็เกิดขึ้น grub error ตอนแรกก็ error 22 ทำไปทำมาก็ 15 บ้าง 17 บ้าง ทำไงก็ทำไม่สำเร็จเลยครับ กรุณาช่วยผมอีกทีเถอะครับ ผมไม่รู้จะทำไงดีแล้วครับ ไม่อยาก format ใหม่เลยครับ
- บูตจากแผ่น suse
- เลือก Installation
- เลือก Orther
- เลือก Boot System
- ใส่ Password “root”
- จะอยู่ที่ # พิมพ์
#grup
grup>root (hd0,1)
grup>setup (hd0,1)
grup>quit
#reboot
Note: พาร์ติชันแรก (hd0,0) คือ Harddisk ลูกที่ 1, swap partition
(hd0,1) ก็คือ Harddisk ลูกที่1, / partition
เพิ่มเติม Grub Error 12, Grub Error 15, Grub Error 17, Grub Error 18
How to fix error 17
Go to the BIOS settings of your machine and change the translation method used to access the hard drive from the default setting “Auto” to “Large” (not LBA, not CHS!).
————————————————————————————————————————————-
Case C: ทำการ resize partition ที่เป็น swap (ต้นเหตุของ grub error 17)
ทำการ resize partition ที่เป็น swap (ต้นเหตุของ grub error 17)
Boot ด้วย แผ่น ububtu liveCD
System -> Administration -> Partition Editor
Resize some partition to shrink
Apply
right click to swap -> swap off
right click to swap -> Delete
right click to free space -> Create partition type linux-swap (ต้นเหตุของปัญหา ทำ partition เปลี่ยน)
Apply
right click to swap -> swap on
Reboot
Grub Error 17 โอ้ งานเข้าแล้วตู
Boot ด้วย แผ่น ububtu liveCD ใหม่
# sudo grub
grub> find /boot/grub/stage1
(hd0,4) <—- boot ที่ partition 4 หรือ sda5 แต่ตอนนี้เปลี่ยนเป้น sda6 แล้ว
; เปลี่ยน root เป็น sda6
grub> root (hd0,5)
grub> setup (hd0)
—OK—
grub> quit
# reboot
Grub กลับมาแล้ว เข้า windows ได้ปรกติ แต่เข้า ubuntu ไม่ได้
ติด error 17 อีกแล้ว
ลองกด e เข้าไปดู ไหงไป boot ที่ hd0,6 หว่า แก้เป็น hd0,5 enter
เข้าได้แล้ว หุหุ
เสร็จแล้วเข้าไปแก้ไฟล์ /boot/grub/menu.lst เปลี่ยน hd0,6 ให้เป็น hd0,5 ในส่วนของ ubuntu
เสร็จแล้วก็ไปแก้ /etc/fstab
จากเดิม
UUID=d4a01b04-1a4d-4d61-908d-f50a1c6a6b4a none swap sw 0 0
เป็น
/dev/sda7 none swap sw 0 0
reboot
Link : http://www.leakung.in.th/?p=29
————————————————————————————————————————————-
Case D: Format แล้วเข้าอะไรก็ไม่ได้เลย GRUB error ท่าเดียว
โหลด boot cd http://www.bootdisk.com/bootdisk.htm
format boot record โดย
fdisk /mbr แล้ว restart
กรณีที่ MBR ถูก reset ทำให้ grub หายไป boot ได้แต่ windows แต่ partition linux ยังอยู่ดีและไม่ต้องการติดตั้งใหม่ ให้ทำดังนี้
การกู้คืน grub ที่หายไป
1. หาแผ่น boot ของ linux ที่เราใช้งานมา boot
เป็นแผ่น bootdisk ที่เราสร้างไว้ตอนติดตั้ง linux
2. ตรวจหาดูว่า /boot อยู่ใน partition ใหน เช่น
#df -h
/dev/hda1 /boot ค่าที่จะนำไปใช้จะเท่ากับ hd0,0 (hda=hd0) (1=0)
/dev/hda2 /boot ค่าที่จะนำไปใช้จะเท่ากับ hd0,1 (hda=hd0) (2=1)
3. พิมพ์คำสั่ง grub และพิมพ์คำสั่งต่อไปนี้
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
#reboot
หากเป็น sata ก็จะเป็น sd0 แทน hd0
สำหรับท่านที่ใช้ lilo นั้นง่ายมาก
หลังจาก boot แล้วให้พิมพ์คำสั่ง
#/sbin/lilo
#reboot
link:http://www.thaihosttalk.com/index.php?topic=6284.25;wap2
สุดท้าย ให้เห็นภาพกันเลย
http://fukduk.tv/9/38
Thank http://en.wikipedia.org/wiki/GNU_GRUB
เทคนิคแก้ไขปัญหา เมื่อคิดจะลอง 2 โอเอสบนเครื่องเดียวกัน
[b]Grub หาย เลยบูทเข้า Ubuntu ไม่ได้[/b]
grub คืออะไร? ตอบให้มือใหม่เห็นภาพก็คือ เจ้าเมนูที่ขึ้นมาให้เราเลือกใช้งานว่าจะเข้า ubuntu โหมดไหน หรือถ้าบางคนลงไว้ 2 OS (windows และ ubuntu) ก็จะมี OS ให้เลือกเข้าใช้งานกันตรงนั้น โดยเมื่อ grub หายเราก็จะไม่สามารถมองเห็นเมนูนั้น แต่มันไม่ได้หมายความว่า ข้อมูลทุกอย่างทั้งของ ubuntu หรือ windows จะหายไป ให้ลองทำดังนี้ก่อน
1 บูทด้วย live CD
2 เปิด terminal (คลิกที่ ปุ่ม menu > Applications > Terminal)
3 พิมพ์คำสั่ง sudo grub แล้ว enter
4 มันจะเข้าสู่โหมด prompt ของ grub
5 พิมพ์ find /boot/grub/stage1 แล้ว enter
ุ6 พิมพ์ root (hd0,2) แล้ว enter <<<< เลขอันนี้แล้วแต่ว่า find จากข้อ 5 แล้วได้อะไรก็ใส่ตามนั้น อาจจะไม่ใช่ hd แต่เป็น sd ก็ได้
7 พิมพ์ setup (hd0) แล้ว enter
1. เปิด terminal ขึ้นมา.
2. ใส่คอมมานด้านลงไป แล้วกด Enter:
gksudo gedit /etc/hostname
3. ระบบจะถามพาสเวิด เราก็ใส่เข้าไปแล้ว click OK ไป.
4. เราก็จะเห็นชื่อเดิมแสดงอยู่ สามารถแก้ไขได้เลย.
5. Click Save.
6. รีบูทเครื่องสักรอบ จบ.
หลังจากที่เปิดใช้งาน Virtualhost
เราก็จะต้องสร้าง ไฟล์ hostname.conf ไว้ใน conf.d เริ่มเลย
1 ไปที่ /etc/httpd/conf.d แล้ว vi command
# vi khonkaentalk.conf
2 ใส่ด้านล่างนี้ลงไปในไฟล์
<VirtualHost *:80>
DocumentRoot /home/khonkaentalk/public_html/
ServerName khonkaentalk.com
ServerAlias khonkaentalk
ErrorLog /home/khonkaentalk/logs/error_log
CustomLog /home/khonkaentalk/logs/access_log common
<Directory “/home/khonkaentalk/public_html”>
AllowOverride All
allow from all
Options Indexes
</Directory>
</VirtualHost>
กด shift+ZZ เพื่อ save
ทำการ adduser ด้วย
#useradd khonkaentalk
ตั้ง password โดย
# passwd khonkaentalk
เสร็จแล้ว login ด้วย user ที่สร้าง และสร้าง public_html
#su – khonkaentalk
@khonkaentalk# mkdir public_html
แล้วอับโหลดไฟล์ index.html มาไว้ที่ public_html แล้วออกจาก user กลับมาที่ root
#chmod 711 /home/khonkaentalk
#mkdir /home/khonkaentalk/logs
เพื่อเก็บ error_log และ access_log
แล้วสั่ง service httpd restart แล้ว เปิด บราวเซอร์ขึ้นมาใส่
yourip/khonkaentalk
ลองดู เนือหาอาจจะไม่ครอบคลุมเท่าไหร่นัก
ถ้าเลือก webserver ตั้งแต่ตอนติดตั้ง ก็สั่ง
#service httpd start
ถ้ายังไม่ได้ติดตั้งก็
#yum install httpd
สั่งให้ httpd ทำงานทุกครั้งที่เปิดเครื่อง
#chkconfig –levels 235 httpd on
เปิดใช้งาน virtual host port 80
- เปิดไฟล์ /etc/httpd/conf/httpd.conf
- เอาคอมเมนท์หน้า NameVirtualHost *:80 ออก
- Save ถ้าใช้ VI แก้ก็ Shift+ZZ
- Restart Apache HTTP
#service httpd restart
ปล: ถ้าเปิดใช้ VirtualHost *:80 แล้วถ้าไม่มีไฟล์ใน /etc/httpd/conf.d/yourdomain.conf ตอนรีสตาร์ท httpd service อาจจะมีแจ้ง error VirtualHosts” warning for now. อย่าไปตกใจ ไปสร้างให้มันเดี๋ยวก็หายตามนี้ http://www.khonkaenlinux.com/?p=22
shell> mysqladmin –user=root password yourpassword
shell> mysqladmin –user=root –password reload
ทดสอบกับ Centos 5.3 ,fedora
mailq นั้นจะได้ใช้งานบ้างก็ตอนเมลล์ใน /var/spool/mqueue ค้างเยอะๆ หรือเมลล์ไม่ล่มแต่ส่งไม่ออก จึงต้องมาดูกันว่ามีคิว
ในการส่งเมลล์เยอะไหม
#mailq
ปัญหาพวกนี้เมลล์ไม่ล่ม แต่ส่งไม่ออกทั้งที่ก่อนหน้านี้ก็ใช้งานได้ปกติ ถ้าจะลบก็ไปที่ /var/spool/mqueue
#for i in qf* ; do rm -f $i ; done
ตรง qf นั้นคือ ลบเมลล์ทีขึ้นต้นด้วย qf นะครับ

Last Comment