Tuesday, October 15, 2013

วิธีเขียน batch file ให้เปลี่ยนชื่อไฟล์เป็นวันเดือนปี(กันลืม)

เรียกว่าเขียนกันลืมเลยก็ได้

โจทย์คือต้องการทำ batch file โดยให้เปลี่ยนชื่อไฟล์ให้เป็น ชื่อไฟล์ ตามด้วยวันที่
ดังนั้นให้เขียนแบบนี้

set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
set d=%d: =_%
set t=%time:~0,2%%time:~3,2%%time:~6,2%
set t=%t: =0%
RENAME "TEST.TXT" "TEST_%d%_%t%.TXT"

จากเวบนี้ https://groups.google.com/forum/#!topic/alt.msdos.batch/YOv9hhlFMK4

แต่หลังจากลอง run batch ไฟล์ กลับได้ผลเป็นแบบนี้

TEST_201315Tu_145046.TXT

ก็เลยต้องมานั่งปรับต่อโดยให้เขียนแบบนี้


set d=%date:~-4,4%%date:~-10,2%%date:~7,2%
set d=%d: =_%
REM set t=%time:~0,2%%time:~3,2%%time:~6,2%
set t=%time:~0,2%
set t=%t: =0%
RENAME "TEST.TXT" "TEST_%d%_%t%.TXT"

เนื่องนี้ format ของวันที่มันไม่เหมือนกัน

Wednesday, September 18, 2013

วิธีแก้ปัญหาใส่แผ่น DVD ใน macbook pro ไม่ได้

เนื่ืองจากพยายามใส่แผ่น DVD ใน mac book pro แต่พยายามยัดแผ่นยังไงก็ไม่ได้
เหมือนมีสลักติดอยู่ ลองพยายามกดปุ่ม eject ที่เครื่องยังไงก็ยังใส่แผ่นก็ไม่ได้ ก็เลยลองหาในเนตดูจนเจอวิธีนี้ โดยให้เปิด Terminal แล้วสั่งคำสั่งนี้

drutil eject

กดไปสองสามทีใส่แผ่นได้เลย คิดว่าน่าจะมีอะไรสักอย่างติดทำให้ใส่แผ่นไม่ได้

Wednesday, February 27, 2013

วิธีลบตััว อักษรแปลก จากการส่งไฟล์ระหว่าง window กับ linux(กันลืม)

ปัญหานี้เกิดขึ้นประจำ ถ้ามีการส่งไฟล์หรือแก้ไขไฟล์ระหว่า window กับ linux แล้วพอ vi จะพบตัวอักษรแปลกๆ โผล่มาให้เห็นแล้วโปรแกรมก็ใช้งานไม่ได้ วิธีแก้ไขมีดังนี้

1. ใช้คำสั่งนี้

 perl -i -pe'tr/\cM//d'


2. ใช้ vi  แล้วพิมพ์ตามนี้

:%s/^M//g

โดยการพิมพ์ ^M ให้กด control key + V  แล้วตามด้วย M (ทั้งสองตัวต้องกดระหว่างกด control key) แล้ว ^M จะโผล่มาให้เราเห็น  แล้วตัวตัวอักษรที่เป้น ^M จะถูกลบ

ข้อมูลเพิ่มเติม
Oct Dec Hex Name
000 0 0×00 NUL
001 1 0×01 SOH, Control-A
002 2 0×02 STX, Control-B
003 3 0×03 ETX, Control-C
004 4 0×04 EOT, Control-D
005 5 0×05 ENQ, Control-E
006 6 0×06 ACK, Control-F
007 7 0×07 BEL, Control-G
010 8 0×08 BS, backspace, Control-H
011 9 0×09 HT, tab, Control-I
012 10 0x0a LF, line feed, newline, Control-J
013 11 0x0b VT, Control-K
014 12 0x0c FF, form feed, NP, Control-L
015 13 0x0d CR, carriage return, Control-M
016 14 0x0e SO, Control-N
017 15 0x0f SI, Control-O
020 16 0×10 DLE, Control-P
021 17 0×11 DC1, XON, Control-Q
022 18 0×12 DC2, Control-R
023 19 0×13 DC3, XOFF, Control-S
024 20 0×14 DC4, Control-T
025 21 0×15 NAK, Control-U
026 22 0×16 SYN, Control-V
027 23 0×17 ETB, Control-W
030 24 0×18 CAN, Control-X
031 25 0×19 EM, Control-Y
032 26 0x1a SUB, Control-Z

อ้างอิงจาก
http://deepupc.wordpress.com/2009/10/28/removing-special-charactersmca-in-vi/
กับ
http://computer-programming-forum.com/53-perl/30d38090ded1c5ae.htm

Friday, November 30, 2012

วิธีแก้ตัว webmail ของ ispCP ให้ส่งเมลภาษาไทยได้

กันลืมอีกเช่นเคย

ให้ไปแก้ charset ในไฟล์  config
ใน folder /var/www/ispcp/gui/tools/webmail/config
แล้วหา

$default_charset = 'iso-8859-1';

ให้แก้เป็น

$default_charset = 'utf-8';

Thursday, February 23, 2012

เอาหน้า registation ออกในวีเอ็มแวร์

เขียนกันลืม

Library/Preferences/VMware\ Fusion/preferences

registrationViewed = "TRUE"

ให้แก้เป็น FALSE


**เพิ่มเติม

  1. Go to this directory:

    /Users/username/Library/Preferences/VMware\ Fusion/
  2. Open the Preferences file in a plain text editor. 
  3. To disable the dialog window, modify or add these entries:

    • Antivirus Check

      hint.dui.skipAntivirusCheck.Suppressible = "FALSE"
    • Registration

      pref.license1.registrationViewedCount = "3"
      pref.license1.registrationViewed = "TRUE"
    • User Experience Program

      pref.dataCollectionEnabled.epoch = ""
      pref.dataCollectionEnabled = "FALSE"

      Note: The User Experience Program is an opt-in program. Disabling this setting ensures you are not prompted to opt in, and data is not collected.
  4. Save the Preferences file.

Wednesday, February 15, 2012

วิธีหาไฟล์

เข้าไปดูได้ที่นี่เลยละกัน

http://www.cyberciti.biz/faq/howto-finding-files-by-date/

Friday, February 03, 2012

mcrypt บน centos 6

กันลืม(เช่นเคย)

เนื่องจาก centos 6.5 ไม่มีpackage นี้ใน yum เลยต้องใช้วิธีนี้


rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
แล้วก็
yum update

หลังจากนั้นก็
yum install php-mcrypt

เป็นอันเสร็จพิธี

หมายเหตุ ตัว link ใช้กับ CentOS 6 x86_64 นะถ้าเป็น 32 บิตก็แก้ link ด้วยละกัน

Ref : http://www.mojowill.com/geek/php-mcrypt-on-centos-6/

Thursday, June 02, 2011

ssh root@
cd /var/lib/apt/lists
ลบทุกไฟล์ใน folder ยกเว้น partial
แล้ว restart iPhone
ถ้ายังเปิดไม่ติดอีกให้
ssh อีกรอบ
แล้วพิมพ์คำสั้งตามนี้
dpkg -configure -a
apt-get update
apt-get install cydia (if this fails add –fix-missing)
apt-get upgrade (to install mobilesubstrate correctly)
reboot
แล้วลองเข้าใหม่อีกรอบ

reference

Friday, May 06, 2011

CakePHP with mod_rewrite

เขียนไว้กันลืมเช่นเคย

เนื่องจากต้องเอาเวบที่เป้น PHP Cake มาวางแล้วเกิดปัญหาใช้ไม่ได้
มีวิธีแก้ดังนี้

วิธีที่ 1

- Edit httpd.conf
- Uncomment #LoadModule rewrite_module modules/mod_rewrite.so

วิธีที่ 2
ถ้ายังใช้ไม่ได้ก็ปิดการใช้งาน mod_rewrite.so ไปเลย

- Edit file /app/config/core.php
- Un-comment line Configure::write('App.baseUrl', env('SCRIPT_NAME'));

Example

/**
* To configure CakePHP *not* to use mod_rewrite and to
* use CakePHP pretty URLs, remove these .htaccess
* files:
*
* /.htaccess
* /app/.htaccess
* /app/webroot/.htaccess
*
* And uncomment the App.baseUrl below:
*/
Configure::write('App.baseUrl', env('SCRIPT_NAME'));

Friday, July 24, 2009

วิธีเพิ่ม hdd ใน linux

วิธีเพิ่ม hdd ใน linux

1. ปิดเครื่องแล้วใส่ hdd เข้าไป
2. ดูว่ามี hdd ที่เราใส่เข้าไปรึเปล่า
fdisk -l
จะได้แสดงข้อความประมาณนี้

Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 9472 76083808+ 83 Linux
/dev/sda2 9473 9726 2040255 82 Linux swap / Solaris


Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table


3. ใช้คำสั่ง

fdisk /dev/sdb

ทำการสร้าง patition โดยการกด n
เสร็จแล้วให้กด w เพื่อ write สิ่งที่ทำ

(นึกไม่ออกให้กด m ดู help เอา)

4. ใช้คำสั่ง

mkfs.ext3 /dev/sdb1

เพื่อ format file system ของ partition ที่สร้าง

5. สร้าง folder ที่ต้องการเอามาใช้งาน
กรณีนี้ต้องการเอามาใช้เก็บ log ของ apache ก็ให้ใช้คำสั่ง

mkdir /var/log/httpd

6. ทดสอบการใช้งานโดยใช้คำสั่ง

mount -t ext3 /dev/hdb1 /test1

7. ตรวจสอบว่าถูกต้องหรือไม่โดยใช้คำสั่ง

df -h

จะแสดงผลดังตัวอย่าง

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 71G 64G 3.1G 96% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/sdb1 74G 27G 44G 38% /var/log/httpd


8. หลังจากนั้นให้ทำการแก้ไขไฟล์ /etc/fstab โดยเพิ่มบรรทัดด้านล่างนี้

/dev/sdb1 /var/log/httpd ext3 defaults 1 2

9. restart เครื่องทีหนึ่งดูว่าทำการได้รึเปล่า ถ้าไม่มีปัญหาอะไรก็ถือว่าผ่าน


หมายเหตุ 1
คำอธิบายของ /etc/fstab

# device name   mount point     fs-type      options                 dump-freq pass-num
/dev/sdb1 /var/log/httpd ext3 defaults 1 2



หมายเหตุ 2
ถ้าแก้ไข /etc/fstab แล้วเจอ error ว่าไฟล์ /etc/fstab มีปัญหาจะเข้าโหมด recover แล้วจะไม่สามารถแก้ไขไฟล์ /etc/fstab ได้ต้องใช้คำสั่ง

mount -n -o remount /

หรือถ้าต้องการระบุ hdd ก็ให้ใส่

mount -n -o remount -t ext2 /dev/sda2 /

(แค่ mount -n -o remount / ก็พอ)

Friday, December 12, 2008

Linux: Hard Disk เต็มทำไงดี

เนื่องจากวันนี้ Linux Server ที่เป็นตัว DB นิ่งไปโดยไม่มีสาเหตุ แล้วก็นั่งงงอยู่ตั้งนานจนถึงบางอ้อว่า Hdd เต็ม
แล้วเราจะรู้ได้ยังไงละว่า อะไรเต็ม หรือไฟล์ที่ไหนมันใหญ่หรือที่เป็นปัญหา
และแล้วก็ได้คำสั่งนี้เพิ่มตรวจสอบดูว่า top 10 อันดับแรกที่มีขนาดไฟล์ใหญ่สุดอยู่ที่ไหน

du -sk * | sort -nr | head



หลังจากทำการ run เรียบร้อยแล้ว จะแสดงผลประมาณนี้

300608 mysqld.log
10604 mysqld.trace
108 anaconda.syslog
64 scrollkeeper.log
64 anaconda.xlog
60 Xorg.0.log.old
60 Xorg.0.log
60 a
32 prelink.log
32 messages.4


จากการแสดงผล ไฟล์ log ของ mysqld.log ใหญ่ที่สุด หลังจากนั้นก็ทำการ ลบซะ

Monday, September 01, 2008

วิธีเคลียร์ session ที่ Lock Table ใน Oracle

ในกรณีที่เราทำการ update data ใน oracle แต่ยังไม่ทันจะ commit แล้วอยู่ดีๆ เนตเราก็ตัดซะงั้น
พอจะ update อีกที table ก็ถูก lock ไปแล้ว วิธีการแก้ไขคือทำการเคลียร์ session ที่เราทำซะ

SELECT l.inst_id,SUBSTR(L.ORACLE_USERNAME,1,8) ORA_USER, SUBSTR(L.SESSION_ID,1,3) SID,
S.serial#,
SUBSTR(O.OWNER||'.'||O.OBJECT_NAME,1,40) OBJECT, P.SPID OS_PID,
DECODE(L.LOCKED_MODE, 0,'NONE',
1,'NULL',
2,'ROW SHARE',
3,'ROW EXCLUSIVE',
4,'SHARE',
5,'SHARE ROW EXCLUSIVE',
6,'EXCLUSIVE',
NULL) LOCK_MODE
FROM sys.GV_$LOCKED_OBJECT L, DBA_OBJECTS O, sys.GV_$SESSION S, sys.GV_$PROCESS P
WHERE L.OBJECT_ID = O.OBJECT_ID
and l.inst_id = s.inst_id
AND L.SESSION_ID = S.SID
and s.inst_id = p.inst_id
AND S.PADDR = P.ADDR(+)
order by l.inst_id
;


หลังจาก query แล้วจะแสดงเลข sid และ serial ให้นำเลขทั้งสองนี้ไปใส่ในคำสั่งข้างล่างนี้

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;


เป็นอันเสร็จพิธี


ref University Software Development

Wednesday, July 09, 2008

วิธีเซต Oracle Instant Client ให้ใช้กับ pl/sql ได้

กันลืม(อีกแล้ว)
หลังจากลง Oracle Instant Client แล้วให้เซต Environment ของ window ดังนี้

LD_LIBRARY_PATH=C:\orahome
TNS_ADMIN=C:\orahome
ORACLE_HOME=C:\orahome

ถ้าข้อมูลที่เป็นภาษาไทยแล้วอ่านไม่ออกให้เพิ่ม
NLS_LANG=THAI_AMERICA.TH8TISASCII

Friday, February 08, 2008

วิธีการ Setup Swap บน Fedora Core

ช่วงก่อนได้เอา Fedora Core 5 ลงบนเครื่อง Server แล้วเอา Oracle มาลงต่อแต่ปรากฏว่าเนื้อที่สำหรับ swap ไม่พอ
ก็เลยไปค้นหาวิธีเพิ่ม swap ซึ่งมีสองวิธี
วิธีที่ 1 เพิ่ม hdd เข้าไป หรือแบ่ง partition ให้ใช้สำหรับ swap เพิ่ม
วิธีที่ 2 ทำการสร้างไฟล์สำหรับเป็นเนื้อที่ swap(วิธีนี้สำหรับคนมีเนื้อที่สำหรับ linux เพียง partition เดียว)

วิธีที่ 1
แก้ไขไฟล์ /etc/fstab แล้วเพิ่มข้อมูลดังข้างล่าง(จะ active หลัง reboot เครื่อง)
/dev/hda6 swap swap defaults 0 0

หรือถ้าต้องการ active แบบ manual ให้ใช้คำสั่งนี้
mkswap -f /dev/hda6
swapon /dev/hda6


วิธีที่ 2(มี partition เพียงอันเดียว)
สร้างไฟล์สำหรับทำเป็น swap ด้วยคำสั่ง
dd if=/dev/zero of=/var/my_swap bs=1024 count=131072

คำสั่งนี้จะทำการสร้างไฟล์ที่ /var/my_swap ขนาด 128 Mb(128 Mb => 128 x 1024 = 131072 )
แล้วทำการ ativate file ที่ต้องการให้เป็น swap ด้วยคำสั่ง
mkswap -f /var/my_swap
swapon /var/my_swap

ถ้าต้องการยกเลิก swap ก็ทำด้วยคำสั่ง
swapoff /var/my_swap
rm /var/my_swap

แค่นี้ก็เสร็จสิ้นกระบวนการ ^_^

ปล. ช่วงนี้มีแต่เขียนกันลืมแหะ
ref setting up swap space

Monday, January 07, 2008

คำสั่งในการ backup mysql ทั้งหมดในเครื่อง(กันลืม)

เนื่องจากต้อง backup db ทั้งเครื่องของ server แล้วย้ายไปอีก server หนึ่งเลยต้องทำการ backup db ทั้งหมด
คำสั่้งที่ใช้ในการ backup คือ

mysqldump --user=username --password=1234 --all-database --opt --quote-names --allow-keywords --complete-insert > backup.sql


ส่วนวิธีการ restore คือ

mysql --user=username --password < backup.sql



ถ้าต้องการ backup แค่ db ตัวเดียวก็ใช้คำสั่ง
mysqldump --user=username --password=1234 --databases my_db --opt --quote-names --allow-keywords --complete-insert > my_db.sql


และวิธีการ restore db ตัวเดียวคือ

mysql --user=username --password my_db < my_db.sql



ปล. add user ให้ก่อนการ backup โดยการ

mysql -u root mysql
mysql> grant all privileges on *.* to 'username'@'localhost' identified by 'password' with grant option;

Saturday, December 22, 2007

Hibernate(เขียนเก็บไว้)

หลายวันก่อนได้เจอปัญหาของ Hibernate เยอะมาก ตั้งแต่ Web App ใช้ Hibernate ติดต่อกับ DB
ตัวเดียวกันแล้วมีการใช้การ running ตัวเลขซึ่งปรกติใช้ Hibernate Increment แล้วก็เจอปัญหาคือ
มันไม่ Sync กันทำให้เกิด Unique Constraint หลังจากนั่งงงอยู่นานก็เลยรู้ว่าเป็น Lib ก็เลขเปลี่ยน Lib
ใหม่ แล้วก็เจอ Error ตัวหนึ่งคือ

org.hibernate.HibernateException: Could not instantiate cache implementation


ก็เลย search หาวิธีแก้จนเจอโดยการเพิ่ม บรรทัดนี้ลงที่ hibernate.hbm.xml

org.hibernate.cache.HashtableCacheProvider


แล้วมันก็ได้ผล ^___^
Ref. JBPM Hibernate cache

Thursday, September 20, 2007

My_personal_data Virus

วันก่อนไปทำนามบัตร โดย copy logo ของบ. ใส่ handy drive ไป
กลับมาเจอ virus เลยแถม nod32 ไม่เตือนอีกว่าเจอ virus ก็เลยต้องไปค้นๆ หาวิธีการทำลาย
ในที่่สุดก็เจอเวบที่บอกวิธีฆ่า โดยเค้าเขียน app สำหรับฆ่าไว้เรียบร้อย

อาการของ virus คือ มันจำสร้างไฟล์ autorun.inf กับ My_personal_data.exe ไว้ทุก drive ที่เป็น usb( usb hdd มี 4 partition ก็โดนไป 4 partition เลย T-T)

วิธีการแก้ UZA_Eliminator_x2.exe

ปล. หลังจากใช้โปรแกรมแล้วใส่ handy drive ไป nod32 เตือนครับพี่น้อง
ปล2. ขอบคุณ แหล่งข้อมูลจาก http://cyryx.blogspot.com/2007/08/i-was-infected-by-u.html

Saturday, September 15, 2007

How to reset mysql root password

เคยเขียนไปแล้วรอบหนึ่ง ตอนนี้วิธีที่เคยเขียนใช้ไม่ได้ ดังนั้นต้องเขียนใหม่
ให้ทำตาม step ดังนี้
[root@host]# /etc/init.d/mysqld stop

[root@host]# mysqld --skip-grant-tables --user=root
แล้วก็ login mysql ใหม่โดยใช้ mysql client

[root@host]# mysql
mysql> USE mysql
mysql> UPDATE user SET password=password("newpassword") WHERE user="root";
mysql> flush privileges;
mysql> exit;
[root@host]# /etc/init.d/mysqld restart

Friday, June 29, 2007

วิธีทำให้ vista crash ใน 10 วิ

ไปอ่านยังไม่ได้ลอง(ไม่มี vista)
เนื่องจาก window vista มีอะไรที่มันหรูหราเกินไปทำให้เกิดปัญหาอย่างนี้ได้
แนะวิธีง่ายๆว่า แค่ให้กิน ปุ่้ม window key (รูป logo window ที่ keyboard) กับปุ่ม e ค้างไว้ ประมาณ 10 วินาที
แล้วเครื่องก็จะไม่ตอบสนองการทำงานอีกเลย

ใครลองแล้วก็มาบอกด้วยว่าได้ผลรึเปล่า

ปล. window key + e คือการเปิด internet explorer

Friday, June 01, 2007

CVS Server บน Ubuntu

วิธีการทำ cvs server บน Ubuntu (เก็บไว้จะได้ไม่ต้องหา)

ลง cvs client
sudo apt-get install cvs

ลง the CVS server:
sudo apt-get install cvsd

เมื่อมี prompted ระหว่างลงให้ใส่ Repository เช่น /cvsrepo

หลังจากนั้นจะทำการติดตั้ง cvds ไว้ที่ /var/lib/cvsd
ทำการ

sudo cvsd-buildroot /var/lib/cvsd


เข้าไปที่ /var/cvsd/lib ถ้าไม่มี folder ให้สร้าง folder cvsrepo(ตามที่กำหนดไว้ตอนแรก)
sudo mkdir cvsrepo

ทำการเปลี่ยนเจ้าของ folder ซะ

sudo chown -R cvsd:cvsd cvsrepo

แล้วทำการ init folder ให้ทำการสร้างข้อมูลเบื้องต้น
sudo cvs -d /var/lib/cvsd/cvsrepo init

เพิ่ม user and password

sudo cvsd-passwd /var/lib/cvsd/cvsrepo [username]


ทดสอบ


cvs -d :pserver:username@localhost:/cvsrepo login


cvs -d :pserver:username@localhost:/cvsrepo checkout .

แค่นี้ก็สำเร็จแล้ว

ไฟล์ config ของ cvsd อยู่ที่ /etc/cvsd/cvsd.conf