zendz's blog

real world FIND usage

จำไม่เคยได้ซักทีเกี่ยวกับ find command แปะไว้กันลืมเจอมาจาก http://www.wagoneers.com/UNIX/FIND/find-usage.html

sudo find / -type f -name *.jpg  -exec cp {} . \;

find . -type f -size +10000 -exec ls -al {} \;

จะทำยังไงหาก swap partition เราไม่พอใช้งาน

อันนี้เป็น ของเก่าทำเก็บไว้กันลืม

โดยปกติแล้ว เวลาเราลง OS มักจะได้รับคำแนะนำอยู่เสมอๆ ว่าควรจะ create swap partition ให้เป็นสองเท่าของเนื้อที่ Ram ของตัวเครื่อง ซึ่งบางครั้งมันก็ไม่ได้จำเป็นเสมอไป ยกตัวอย่างง่ายๆ หากเรามีเครื่องที่มี ram ซัก 2 GB ขึ้นไป หากทำตามคำแนะนำมันจะต้องเสียพื้นที่ 4GB ให้เป็น swap partition ซึ่งดูๆ ไปแล้วมันต้องบ้าแน่ๆ หากทำแบบนั้นกับ server ที่ไม่ได้ใช้ ram ขนาดนั้น โดยปกติ ผมเองจะทำอย่างมากก็ create swap partition แค่ 1GB นี่ก็โครตเยอะแล้ว

log rotation บน solaris

เดี๋ยวนี้มีอะไรเกี่ยวกับ solaris มากเหลือเกิน วุ่นวายดี อันนี้จะเป้นเรื่องย้อนหลังหน่อย เกี่ยวกับ log rotation บน solaris นั้นล่ะ คือที่ผ่านมาได้จับงานอยู่งานหนึ่งเขียน application จากนั้นจะต้องทำ log rotation บน solaris ซึงมันเป็นเครื่องของคนอื่น แถมไ่ม่ได้ลง logrotate บนนั้นอีก (ทำไม ที่นั้นไม่ใช้ logrotate หว่า ไม่เข้าใจ) เลยต้องมาเขียนเอง

mysql กับภาษาไทย อีกรอบ

เนื่องจากครั้งก่อนได้มีการแก้ mysql ให้ใช้ไทยได้ พบว่ามันไม่ค่อยสะดวก เลยหาวิธีใหม่ซึ่งง่ายกว่านั้น สั่ง server ให้ default charset เป็น tis620 ซะเลยง่ายดี

วิธีการแก้ไขก็ง่ายๆ คือ แก้ file /SomePath/my.cnf โดยเพิ่มเติมดังนี้ 

[mysqld]
port=3307
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=tis620
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=tis620

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=tis620

[mysql]
default-character-set=tis620

ในส่วนของสีแดงคือที่เพิ่มเข้าไป จากนั้น restart service ก็ใช้ได้ตามปกติ ในที่นี้ทดลองกับ mysql version 4.1.x และ 5.0.x พบว่าใช้งานได้ดี และเหตุผลที่เพิ่ม [mysql] เข้าไปเนื่องจากเวลาใช้งาน mysql shell จะได้มี default charset เป็น tis620 ด้วย เผื่อทำการ import sql

startup scritp vsftpd on solaris9

จากที่ผ่านมาได้มีการลง vsftpd server บน solaris9 พบว่ามีปัญหาเกิดขึ้นเมื่อ user ทำการ reboot เครื่องแล้ว service vsftpd ไม่ได้ start (ที่มันไม่ start เพราะไม่ได้ใส่ไว้อ่ะดิ)

เลยมาทำการแก้ปัญหาให้ user โดยจัดการให้ ตอนแรกว่าจะใส่ใน rc.local ง่ายดี พบว่ามันไม่มีนี่หว่า สุดท้ายพบว่าต้องมาเขียนเองซะแล้ว ใครมีหนทางที่ดีกว่านี้เสนอมาหน่อยเถอะ เกิดมี service ที่ต้องใส่เข้าไปอีก มาเขียนตลอดคงไม่ไหว

ขั้นแรกเขียน rc script ขึ้นมาซะ โดยมีรายละเอียดดังนี้ (เอา mysql script บางส่วนมาเป็นแนวทาง)

ปัญหาของภาษาไทยกับ MySQL 5

จากปกติ MySQL version เก่าใช้งานกับภาษาไทยมันจะไม่มีปัญหาอะไรเพราะมีการเก็บ data ที่เป็น ANSI code แต่มา version ใหม่ๆ ได้มีการปรับเปลี่ยนการเก็บ data ที่เปลี่ยนแปลงจากเดิมโดยมีการเก้บเป็น unicode ซึ่งโดยส่วนใหญ่ developer ของเมืองไทย ยังไม่ทราบและมีปัญหาบ่อยๆ กับตรงนี้