cat /var/log/message | perl -pe 's/ERROR/\e[1;31;43m$&\e[0m/g'
| [+/-] |
colorful log via perl |
| [+/-] |
proxy via iptables |
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
proxy_host=x.x.x.x
proxy_port=8080
iptables -F
iptables -F -t nat
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.0/8 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -d 10.0.0.0/8 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -d 172.16.0.0/16 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -d 172.19.0.0/16 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination
"$proxy_host":"$proxy_port"
| [+/-] |
epoch(unix timestamp) convert in linux |
在 linux 計算時間, 通常的作法都是先把時間轉換成 epoch aka unix timestamp(從1970年1月1日0時0分0秒到目前時間的秒數), 再來做計算, 下方為 epoch 的轉換方式.### Convert from human readable date to epochref: this.
date +%s -d "Jan 1, 1980 00:00:01"
### Convert from epoch to human readable date
date -d @1190000000
| [+/-] |
language support in centos |
於 centos(rhel) 安裝過程中沒有於 "新增語系支援" 的步驟中選擇某一語系, 而之後想要使用時, 按照以下步驟設定:
- 檢查系統有無支援該語系, 如有支援參考下一步做修改.
locale -a - 修改 /etc/sysconfig/i18n 的設定, 以下內容為簡繁中文並存, 將預設語系設定為繁體中文.
LANG="zh_TW.UTF-8" SUPPORTED="zh_TW.UTF-8:zh_TW:zh: zh_CN.utf8:zh_CN: zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16"
| [+/-] |
linux sar tip in rhel4 (centos4) |
有時 sar 的指令無法正常顯示 cpu idle, 可以透過更新 sysstat 的套件來解決此狀況.
- 使用 rhel4 相容版本 sysstat-8.1.5.tar.gz, 也可於官方網站下載最新版本.
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-8.1.5.tar.gz - 移除無法正常顯示 cpuidle 的 sysstat 套件.
rpm -e sysstat - 編譯 sysstat 原始碼, 並且安裝於 /usr.
tar zxvf sysstat-8.1.5.tar.gz
cd sysstat-8.1.5
./configure --prefix=/usr && make && make install - 當 sar 的資料檔案與版本不符, 將會出現以下訊息.
sysstat: Invalid system activity file: /var/log/sa/saXX
需執行以下指令來重建.rm -rf /var/log/sa/*
/usr/lib/sa/sa1 - 將 sar 加入 crontab, 定期產生資料.
echo '# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A' > /etc/cron.d/sysstat
| [+/-] |
linux tmpfs tip |
當遇到需要大量 I/O 的程式時, 將該程式產生 I/O 的動作於 tmpfs 上執行, 可以大幅改善效能, 因為 tmpfs 是將資料都放在記憶體中. tmpfs 於 linux kernel 2.4 後開始支援. 切記 tmpfs 於重新啟動系統或系統斷電後, 資料即消失, 請謹慎使用.
- /dev/shm
於 kernel 2.4 之後版本的 linux 發行系統(rhel, centos, ubuntu .. etc) 應該預設系統已經有啟用 tmpfs, 掛載路徑為 /dev/shm, 預設為系統可用記憶體的一半, 可以直接使用, 如欲調整大小, 請修改 /etc/fstab - 手動建立
如欲於不同路徑建立 tmpfs , 使用以下指令即可(mount 來源請指定為 none).
vi /etc/fstab
找到 /dev/shm 的部份, 將選項 default 改為 size 並且指定大小.none /dev/shm tmpfs size=256m 0 0
mkdir -p /mnt/tmpfs
mount -t tmpfs -o size=512m none /mnt/tmpfsref: this, this and this.