Showing posts with label commandline. Show all posts
Showing posts with label commandline. Show all posts

Tuesday, November 11, 2014

How to create group with specific group id

Today is small tip for create group
Assume I need to create group "mai-ru" and I don't want group id auto but I want group id "9999"
The command is should be
sudo groupadd -g 9999 mai-ru
* be careful group id Values between 0 and 999 are typically reserved for system accounts.
So you should use group id more than 999 and make sure that the value is not already exist.

Read More

Bookmark and Share

Friday, July 18, 2014

check or remove multiple backup files filter by number

Assume on the backup directory has files like this
backup-2011-01-01-data.tar.gz
backup-2011-02-01-data.tar.gz
backup-2011-03-01-data.tar.gz
. . .
backup-2012-01-01-data.tar.gz
backup-2012-02-01-data.tar.gz
backup-2012-03-01-data.tar.gz
. . .
backup-2013-01-01-data.tar.gz
backup-2013-02-01-data.tar.gz
backup-2013-03-01-data.tar.gz
. . .

If I want to check or remove all files from year 2011 to 2012 by command line, how to do that. Do one by one? just 24 times. but if more?

You can check on file by command line by :

$du -ch backup-2012-01-01-data.tar.gz
3.4M backup-2012-01-01-data.tar.gz
3.4M total

For more files and filter by number can use this command

$du -ch backup-{2011,2012}*
3.4M backup-2011-01-01-data.tar.gz
3.4M backup-2011-02-01-data.tar.gz
3.4M backup-2011-03-01-data.tar.gz
. . .
3.4M backup-2012-12-01-data.tar.gz
81.6M total

And you can remove files

rm backup-{2011,2012}*

Read More

Bookmark and Share

Thursday, June 14, 2012

How to check public ip by command line


ปกติเวลาต้องการดูไอพีจริง (public ip) จากเครื่อง desktop เราก็สามารถเปิดเว็บบราวเซอร์ที่ถนัด ( IE , Firefox , Chrome , Opera , Safari etc. ) ขึ้นมาแล้วเข้าไปที่เว็บที่บอกไอพีจริงได้ เช่น http://myipaddress.com/show-my-ip-address/ ก็จะพบข้อความ

Your computer's IP address is:* xxx.xxx.xxx.xxx

โดยที่ xxx.xxx.xxx.xxx เป็นไอพีจริงครับ
อ้าวแล้วถ้าเราใช้ command line อยู่จะทำยังไงละ จริง ๆ ก็ใช้หลักการเดียวกับการใช้งานบน desktop ครับเพียงแต่ข้อความที่แสดงเป็น code มองจนตาลายครับ และยิ่งกว่านั้นสำหรับเว็บ myipaddress นั้นในบางครั้งจะมีให้ใส่ Captcha ดังนั้นจึงเป็นการลำบากที่จะใช้เว็บนี้
พอดีไปเจอเว็บ itswapshop มีวิธีสั้น ๆ ในการใช้ command line โดยใช้เว็บ ifconfig.me เมื่อเข้าผ่านเว็บบราวเซอร์ก็จะพบข้อความไอพีสั้น ๆ เลย และสำหรับ command line โดยใช้คำสั่งดังนี้
curl ifconfig.me
curl สำหรับ ubuntu or debian สามารถลงด้วยคำสั่ง
sudo apt-get install curl
หากไม่ต้องการลงโปรแกรมเพิ่ม และลินุกซ์มีโปรแกรม wget อยู่แล้วสามารถใช้คำสั่ง
wget -qO- ifconfig.me/ip

ที่มา : itswapshop

Read More

Bookmark and Share

Thursday, April 5, 2012

Tip encode decode data by commandline


ทิปสั้น ๆ สำหรับการ เข้ารหัส (encode) และถอดรหัส (decode) โดยใช้ command line โดยสามารถนำไปใช้กับการทำให้ url สั้นลง (Shorturl) หรือใช้ในการตั้งรหัสผ่านต่าง ๆ ได้
คำสั่งที่ใช้ในการเข้ารหัส (encode)

echo test | base64
dGVzdAo=
จากตัวอย่างคำที่นำมาเข้ารหัสคือ test และเมื่อเข้ารหัสแล้วจะได้คำว่า dGVzdAo=
ในทางกลับกันเมื่อต้องการถอดรหัส (encode) ออกมาจะใช้คำสั่ง
echo dGVzdAo= | base64 -d
test
จากตัวอย่างทดลองนำคำ dGVzdAo= มาถอดรหัสออกมาจะได้คำว่า test กลับคืนมา
นอกเหนือจาก base64 ยังมีการเข้ารหัส และถอดรหัสอีกมากมาย ขอยกตัวอย่างอีก 1 แบบ ซึ่งเป็นการเข้ารหัสแบบ 1:1 ที่เรียกว่า rot13 เป็นการเลื่อนตัวอักษรออกไปจาก A เป็น N , B เป็น O ไปเรื่อย ๆ
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
สำหรับในการเข้ารหัสจะใช้คำสั่ง
echo test | tr 'A-Za-z' 'N-ZA-Mn-za-m'
grfg
จากตัวอย่างเป็นการเข้ารหัสคำว่า test ซึ่งจะได้ผลลัพธ์ออกมา grfg เป็นต้น

Read More

Bookmark and Share

Friday, December 23, 2011

how to backup - restore mysql


เมื่อไม่กี่วันที่ผ่านมี ก็มีข่าวเกี่ยวกับ การย้ายฐานข้อมูลที่ผิดพลาด (ยังระบุไม่ชัดเจน) ของบริษัทที่ให้บริการเกี่ยวกับโทรศัพท์มือถือค่ายหนึ่ง จึงทำให้คนที่ใช้ค่ายนั้น ไม่สามารถโทร หรือใช้ข้อมูล data ได้เลย ดังนั้น จะพบว่าระบบฐานข้อมูลนั้นจึงเป็นส่วนที่สำคัญ ในการพลักดันให้ระบบทำงานไปตามปกติ จึงต้องมีการวางแผนในการทำสำรอง (backup) ระบบฐานข้อมูลอยู่เสมอ และก่อนที่จะกระทำอะไรกับฐานข้อมูลก็ควรทำการ สำรองข้อมูลด้วย
การสำรองฐานข้อมูลที่จะกล่าวในบทความนี้เป็นการสำรองฐานข้อมูลของ MySQL ซึ่งเป็น DBMS ตัวหนึ่งที่นิยมใช้กัน นอกเหนือจากสามารถใช้งานได้ฟรีแล้ว ก็ยังสามารถทำงานได้อย่างมีประสิทธิภาพด้วย เกริ่นมาพอควรแล้วเข้าเรื่องการสำรองฐานข้อมูลกันเลยดีกว่า

  1. mysqldump เป็น script ที่มีประสิทธิภาพมาก ไม่ต้องไปหาจากที่ไหนมาพร้อมกับการติดตั้ง mysql อยู่แล้ววิธีใช้
    backup
    mysqldump -u -p > file.sql
    โดยคำสั่งนี้จะทำการสำรองฐานข้อมูลที่ชื่อ เก็บไว้ที่ไฟล์ file.sql ตัวอย่างเช่น ต้องการสำรองฐานข้อมูลที่ชื่อ unixtip เก็บไว้ที่ unixtip-12-2011.sql โดยฐานข้อมูลมี user คือ root มีรหัสผ่านคือ 1234
    mysqldump -uroot -p1234 unixtip > unixtip-12-2011.sql
    restore
    mysql -uroot -p1234 unixtip < unixtip-12-2011.sql
  2. phpmyadmin เมื่อต้องการทำการสำรองฐานข้อมูล แต่ไม่อยากใช้ คำสั่ง command line ให้วุ่นวาย ก็ใช้ phpmyadmin คงไม่มีใครไม่รู้จัก phpmyadmin นี้ ผมคงไม่ต้องอธิบายเพิ่มเติมแล้วครับ สำหรับวิธีการสำรองฐานข้อมูลก็ง่ายแสนง่าย เพียงเลือกฐานข้อมูล ที่ต้องการสำรอง จากนั้น คลิกที่ menu Export แล้วก็คลิก OK เท่านั้น ในขณะที่การ restore ก็เข้าไปที่ menu Import แล้วเลือกไฟล์ที่ Export มาเท่านั้นเอง ผมไม่ขออธิบายโดยละเอียดสำหรับวิธีการนี้ครับ เพราะมันง่ายจริง ๆ
  3. automysqlbackup สำหรับ script นี้จะเป็นตัวช่วยในการสำรองฐานข้อมูล ทุกวัน ให้เราโดย script นี้จะใช้ mysqldump อีกทีนึงครับ
    Install for debian , ubuntu
    sudo apt-get install automysqlbackup
    ไฟล์สำหรับ config automysqlbackup
    nano /etc/default/automysqlbackup
    สำหรับ automysqlbackup defaule setting นั้นจะทำการสำรองฐานข้อมูลไว้ใน /var/lib/automysqlbackup/ ซึ่งจะแบ่งเป็น daily, weekly และ monthly restore ถ้าทำการบีบอัดไฟล์ จะอยู่ในรูป unixtip_2011-12-23_07h25m.Friday.sql.gz ให้ทำการ decompress ก่อน ด้วยคำสั่ง
    gzip -d unixtip_2011-12-23_07h25m.Friday.sql.gz
    จะได้ไฟล์ unixtip_2011-12-23_07h25m.Friday.sql
    mysql -uroot -p1234 unixtip < unixtip_2011-12-23_07h25m.Friday.sql

Read More

Bookmark and Share

Tuesday, October 25, 2011

how to move multiple file with CLI

การย้ายไฟล์จากที่หนึ่งไปยังอีกที่หนึ่ง ปกติแล้วถ้าหากใช้ Windows ก็จะเลือกไฟล์หลาย ๆ ไฟล์จากนั้นก็ Drag & Drop file ไปไว้อีกทีนึงได้เลย แต่ถ้าเป็น CLI (Command Line Interface) ละจะทำอย่างไร?
หากต้องการ move file ทั้ง directory '/home/user/a' and rename directory to directory '/home/user/b' เลยอาจใช้คำสั่งนี้
mv /home/user/a /home/user/b
หาก /home/user/b exist can use this command
mv /home/user/a/* /home/user/b
ในขณะที่ file ที่ต้องการจะ move มีบางไฟล์จาก /home/user/a โดยที่ต้องการ move file ที่ไม่ได้ถูกเปลี่ยนแปลงมาแล้วเกินกว่า 30 วัน
find /home/user/a -type f -mtime +30 -exec mv '{}' /home/user/b \;

Read More

Bookmark and Share

Monday, October 10, 2011

[ทิป] ค้นหาคำจากเอกสารด้วย กรึ๊บ (grep)

การค้นหาคำจากเอกสารสำหรับหน้า GUI นั้น จะคุ้นเคยกับ Ctrl+F ซึ่งสามารถใช้กับ MS word, Texteditor, Firefox etc. แล้วก็ใส่คำที่ต้องการค้นหาไป ก็จะสามารถค้นหาคำที่ต้องการได้ ซึ่งในวันนี้ไม่ได้เล่าถึงวิธีใช้งาน Ctrl+F ที่คุ้นเคยกัน แต่จะแนะนำให้รู้จักกับ กรึ๊บ (grep) คำสั่ง command line บน linux

การใช้ grep ค้นหาคำที่ text file นั้นสามารถใช้คำสั่ง นี้ได้

cat php.ini | grep session

จากคำสั่งข้างต้น อธิบายทีละส่วนได้ ดังนี้

cat php.ini

เป็นคำสั่งในการอ่านไฟล์ php.ini แล้วแสดงผลทีละบรรทัดออกมายังหน้าจอแสดงผล ในขณะที่

grep session

นั้นจะเอาข้อมูลที่ได้จาก "cat php.ini" มาทำการค้นหาบรรทัดที่มีคำว่า session เท่านั้นจึงจะแสดงผล

ซึ่งคำสั่งนี้สามารถนำมาใช้กับการค้นหา package ที่ต้องการค้นหาได้ด้วย เช่น

dpkg -l | grep apache

โดยที่คำสั่ง dpkg -l เป็นคำสั่งในการ แสดงผล package ทั้งหมดที่ install ในเครื่อง ( ubuntu , debian ) ซึ่ง grep apache ก็เป็นการบอกให้แสดงผลเฉพาะบรรทัดที่มี apache เช่นกัน

Tip ในวันนี้ที่จะนำเสนอคือ การค้นหาคำจาก directory ซึ่งมีหลาย ๆ ไฟล์พร้อมกัน เช่นต้องการค้นหาคำว่า session ใน directory ที่มีชื่อว่า folder1 ใช่คำสั่งดังนี้

grep "session" -r folder1

ผลที่ได้จะแสดงที่อยู่ของไฟล์ใน folder1 แล้วจะแสดงผลเฉพาะบรรทัดที่มี session เท่านั้น

Read More

Bookmark and Share