Showing posts with label Linux Apps. Show all posts
Showing posts with label Linux Apps. Show all posts

Tuesday, March 31, 2009

วิธีการ capture the output of “top” ไปแสดงที่ file?

คำสั่ง top เป็นคำสั่งแสดงโปรแกรมและ process ต่าง ๆ แบบ real time เหมือนกับ task list ในโปรแกรมวินโดสว์

การใช้งานก็แสนง่าย เพียงคีย์คำสั่ง top แล้วกด enter เท่านั้น โปรเซสต่าง ๆจะแสดงให้ได้รับชมกันทางหน้าจอ อย่างเป็นระเบียบเรียบร้อย ถ้าเราอยากจะเก็บหน้าจอ process ต่าง ๆ เหล่านี้ให้แสดงไปที่ไฟล์แทนเพื่อเก็บไปวิเคราะห์หรือหาเหตุผลอื่นก็ตามที คำสั่ง top ทำได้ดังนี้

top -b -n1 > /tmp/top.txt

ทุกอย่างที่เห็นบนหน้าจอเมื่อสักครู่นี้จะไปแสดงในไฟล์ top.txt แทน


นอกจากนี้ top ยังแสดงหลายๆ report เพื่อเทียบเคียงเป็นช่วงเวลาได้ เช่นตัวอย่างข้างล่างนี้ ให้รัน top ห้าครั้ง แต่ละครั้งให้รอห้าวินาทีก่อนที่จะรัน top ต่อไ

top -b -n5 -d5 > /tmp/top.txt

แหล่งข้อมูลอ้างอิง
http://magazine.redhat.com/category/tips-and-tricks/page/4/

Sunday, March 8, 2009

10 essential tricks for admins

เครดิตนี้จาก IBM สุดยอดๆๆๆๆ

Lazy Linux: 10 essential tricks for admins

http://www.ibm.com/developerworks/linux/library/l-10sysadtips/

Backup Remote Server แบบอัตโนมัติด้วย rsync and ssh

ปฐมบทเริ่มจากวันหนึ่งเห็น admin backup ข้อมูลจาก samba server ที่เปิดแชร์ข้อมูลตั้งอยู่สาขาต่างจังหวัด โดย backup มาเก็บที่เครื่อง backup server ที่สำนักงานใหญ่ บริษัทแห่งนี้มี admin คนเดียว มีสาขาอยู่สองแห่งแต่ละแห่งมี linux เป็นเครื่อง server แต่ว่าการ backup ข้อมูลนั้นให้มารวมศูนย์กันที่สำนักงานใหญ่แห่งเดียว นัยว่าเป็นการประหยัด น้อง admin เปิด OT เกือบทุกวัน ถามว่าทำไม คำตอบคือกว่าจะ backup ข้อมูลเสร็จก็เลยเวลาห้าโมงไปแล้ว จึงได้ถามว่าน้องทำ backup ให้มัน auto ไม่ได้หรือตอนเช้าค่อยมาตรวจสอบเอา น้องบอกว่าไม่ได้ครับ เพราะคำสั่งที่ไปยังเครื่อง remote ผมต้องใส่ username / password ด้วย ผมใช้ rsync ครับ ตอบได้ดีนะ ไหนลองทำคำสั่งให้ดูหน่อยซิ

rsync -avzupog root@192.168.0.10:/home/ /backup/home

คำสั่งก็ประมาณนี้ และต้องรอกรอกพาสเวิร์ด root เสียก่อน อืม แล้วน้องใช้ร่วมกันคำสั่ง ssh เป็นหรือเปล่า ?? ถึงตรงนี้เริ่มงง เห็นทีต้องหาทางช่วยน้องซะหน่อย เปิด OT ทุกวันมีหวังตกงานตาย....

การทำ Auto backup Remote Server ด้วย Rsync

คำสั่งที่ต้องใช้
1. rsync
2. ssh
3. crond

ข้อตกลงร่วมกัน :
สมมติให้เครื่อง samba ที่สาขา มีหมายเลข IP: 192.168.0.10 (ต่อไปจะเรียกสั้น ๆ ว่า rsamba)ไดเรกทอรีที่ต้องการ backup คือ /home ทั้งหมด เครื่อง backup server ที่สำนักงานใหญ่มีหมายเลข IP: 192.168.1.10 (ต่อไปจะเรียกว่า hbackup) ไดเรกทอรีที่เก็บข้อมูลจากการ backup คือ /backup/home

ขั้นตอนที่ 1 : สร้าง key เพื่อให้ ssh ทั้งสองฝั่งตรวจสอบโดยไม่ต้องถามพาสเวิร์ด

ที่ hbackup server พิมพ์คำสั่ง

ssh-keygen -t dsa -b 1024 -f /root/remote-rsync-key

Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase): [กด enter ผ่านเลย]
Enter same passphrase again: [กด enter ผ่าน]
Your identification has been saved in /root/remote-rsync-key.
Your public key has been saved in /root/remote-rsync-key.pub.
The key fingerprint is:
2e:28:d9:ec:85:21:e7:ff:73:df:2e:07:78:f0:d0:a0 thisuser@thishost


สองไฟล์จะถูกสร้างขึ้นมาใน /root

ขั้นตอนที่ 2 : copy ไฟล์ ไปไว้ที่เครื่อง rsamba ที่นี้จะใช้คำสั่ง scp

scp /root/remote-rsync-key.pub root@192.168.0.10:/root/

ขั้นตอนที่ 3 : ย้ายไปที่ rsamba และสร้างไฟล์และไดเรกทอรีเพื่อตรวจสอบการติดต่อด้วย key ที่สร้างนี้

ssh root@192.168.0.10

สร้างไดเรกทอรี .ssh ใน /root ( ถ้ามีแล้วไม่ต้องสร้าง ) ด้วยคำสั่ง
if [ ! -d .ssh ]; then mkdir .ssh ; chmod 700 .ssh ; fi
mv remote-rsync-key.pub .ssh
cd .ssh/
if [ ! -f authorized_keys ]; then touch authorized_keys ; chmod 600 authorized_keys ; fi
cat remote-rsync-key.pub >> authorized_keys


จบขั้นตอนนี้เครื่อง rsamba ก็พร้อมจะรับการคอนเนคเข้ามาโดยไม่ต้องใช้ username แล้ว ทดสอบด้วยคำสั่งที่ hbackup

ssh -i /root/remote-rsync-key root@192.168.0.10

ถ้าผ่านเข้าไปได้ โดยไม่ถามพาสเวิร์ด คราวนี้ลองคำสั่ง rsync ดูอีกครั้ง

rsync -avz -e "ssh -i /root/remote-rsync-key" root@192.168.0.10:/home /backup/home

ขั้นตอนที่ 4 : สร้าง Cron Job

สร้าง script file ชื่อ rsync-remotehost-backups สำหรับการ backup

#!/bin/sh

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
KEY=/root/remote-rsync-key
RUSER=root
RHOST=192.168.0.10
RPATH=/home
LPATH=/backup/home/
$RSYNC -az -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH


ใช้คำสั่ง crontab -e เพื่อบรรจุ script คำสั่งนี้เข้าไปในตารางงานของ crond

0 5 * * * /bin/rsync-remotehost-backups

ก่อนจบต้องขอบคุณ http://troy.jdmz.net/rsync/index.html เป็นต้นแบบของวิธีการนี้

เพิ่มเติม :
How to do remote backup with tar and ssh ?

Monday, February 9, 2009

About DATE สำหรับ Log Server

ย้อนหลังไป 90 วัน

date -d '-90 day' +%Y%m%d

Sunday, February 8, 2009

เข้ารหัส .tar.gz ด้วย Openssl

ไฟล์ใน endian ที่ใช้เก็บ log ตามพรบ. เราก็จะทำเป็น .tar.gz เก็บไว้

Saturday, January 24, 2009

ดาวน์โหลด video files จาก You Tube ง่ายๆด้วย youtube-dl

เชิญติดตามได้จากที่นี่

http://www.nuxified.org/blog/download_youtube_video_files_with_youtube_dl

Tuesday, January 20, 2009

Extrack Rar with Linux

ไฟล์ที่มีนามสกุล .rar หากเป็นวินโดวส์ก็เปิดด้วยโปรแกรม winrar แบบชิวชิวอยู่แล้ว แต่ถ้าเป็นลีนุกซ์นี่ซิ ปวดหัวเหมือนกัน เพราะโปรแกรม tar อันทรงพลังเราก็ใช้เป็นแค่ขยายไฟล์ .tar.gz เท่านั้น ก็ลองสืบค้นจากอินเทอร์เน็ตดูว่าพอจะมีโปรแกรมบนลีนุกซ์ตัวไหนบ้างที่เปิด rar ได้ ก็พบโปรแกรม rar และ unrar จาก www.rarlab.com จึงขอลองดูซิว่าของเขาจะแน่แค่ไหน...

1. ก่อนอื่นเลยก็ดาวน์โหลดโปรแกรมมาก่อน โดยเราเลือกเอาแบบไฟล์ tar.gz ด้วย wget ดังนี้

wget http://www.rarlab.com/rar/rarlinux-3.6.0.tar.gz
เรียบร้อยขนาดของไฟล์ 752,997 (735K)

2. จากนั้นคลายไฟล์ออกมา tar xvfz rarlinux-3.6.0.tar.gz
3. ได้ไดเรกทอรีชื่อว่า rar มีไฟล์ที่สำคัญคือ rar และ unrar ก็ลองดูว่าไฟล์ที่แตกออกมาแล้วจะใช้งานได้หรือไม่โดยตรวจ
สอบไลบรารี่ ด้วยคำสั่ง
- ldd rar และ ldd unrar

4. ทดสอบขยายไฟล์ .rar
- ในไดเรกทอรี rar /.rar e linuxdoc.rar
Option e -> คือขยายไฟล์ไว้ ณ ตำแหน่งปัจจุบัน
/.rar l linuxdoc.rar
Option l -> คือตรวจดูว่าในไฟล์ linuxdoc.rar มีไฟล์อะไรอยู่บ้าง
หากจะตรวจดูว่าคำสั่ง rar มี option อะไรบ้างก็นี่เลย ./rar --help

หลังจากทดสอบและใช้คำสั่ง rar ในไดเรกทอรี่ที่ขยายไฟล์ไฟล์ได้แล้ว ถึงคราวใช้งานจริง ๆ ให้ก็อบปี้ไฟล์ rar และ unrar
ไปไว้ในเดเรกทอรี /sbin หรือ /usr/bin ที่เป็น path สำหรับเรียใช้โปรแกรมต่อไป...
เอวัง...

Twitter Delicious Facebook Digg Stumbleupon Favorites More