rsync - get 和 push 目錄同步

rsync 兩台機器間的檔案要相互同步, 只比對時間較新就是新資料.(記得兩台機器都得要有 rsync)

以下例子假設兩台機器的 src 目錄要同步(刪除檔案若要相互刪掉, 需各加 --delete)

get:

rsync -avuzb HOSTNAME:PATH/src PATH

push:

rsync -Cavuzb PATH/src HOSTNAME:PATH

每次要 sync, 就先 get 再 push 即可(類同 cvs update 再 commit, 但沒 cvs 那麼強大功能, 請小心使用.), 可以加入以下兩個 alias(請自行修改, 將 HOSTNAME、PATH、DIST_PATH 換掉)

alias rget='rsync -avuzb HOSTNAME:PATH/src DIST_PATH'
alias rpush='rsync -Cavuzb PATH/src HOSTNAME:DIST_PATH'

閱讀全文〈rsync - get 和 push 目錄同步〉

在 Ubuntu 上安裝 Freemind

FreeMind at Gea-Suan Lin's BLOG 後, 就會很心動想要裝來玩.

原本想說有 deb 檔應該是直接安裝即可, 沒想到有些麻煩存在, freemind 的 deb 檔並不會自己去把相關的 library 拉進來, 但是卻會造成其它 package 有衝突的狀況, 不過依照他的錯誤訊息狀況, 照以下順序即可完成.

以下有一部份轉載自: FreeMind 在 Ubuntu Edgy Eft 中的安?

因安裝時忘了記錄, 正好看到此文章寫的很完整, 所以下述是摘要此文的流程, 如有不清楚的, 可以直接參考上述文章. 🙂

閱讀全文〈在 Ubuntu 上安裝 Freemind〉

debian php and mysql upgrade

今天心血來潮, 突然想到來把 php & mysql 一起升級, 升級到 php5 & mysql5 ~

升級流程:

  1. backup mysql, mysql config, php config
  2. mysqldump --all-databases --user=root --password='xxx' > mysql-date.sql
  3. tar zcvf mysql-date.tgz /var/lib/mysql # 保險還是整個壓起來, 出問題可以 rollback 用
  4. tar zcvf mysql_conf.tgz /etc/mysql
  5. tar zcvf php_conf.tgz /etc/php4
  6. apt-get install php5 ... (和 其它相關 package, 這個在 restart apache 時看錯誤, 再解決即可)
  7. apache 會出現的錯誤大概就是 php4.conf 要移掉 .. 還有在 php.ini 若有修改, 在 php5 也記得要改.
  8. apt-get install mysql-server (自動會抓 mysql-server 5.0)

沒想到這麼簡單就升級完成, 不用做任何匯入匯出的動作~ :p

目前看起來狀況好像還不錯, 先試用看看囉 🙂

閱讀全文〈debian php and mysql upgrade〉

Email 認證用 Domain Key(Gmail)

有很多系統在製作時, 都會寄些通知信, 或者其它提醒之類的信, 但是發現寄到 gmail 都被退信.

仔細看一下被退的信才知道, 現在一定得要有設 domain key 才能寄的進去(被退的信裡面有教怎麼設定此 domain key)...

詳細可見: Google Mail Help Page: Bulk Email Senders

其它參考:

閱讀全文〈Email 認證用 Domain Key(Gmail)〉

Firefox 效能最佳化(效能調校)

相信大家使用 Firefox 時總會遇到一個問題, 就是網頁多開一點, 記憶體就會用光了, 特別是 Javascript 用較多的網頁, 都會有此狀況.

但是實際上是不需要用那麼多記憶體的, 大多都是頁面整個畫完後, 就可以釋放掉的記憶體, 但卻都留在上面, 不知道該怎麼清除.

閱讀全文〈Firefox 效能最佳化(效能調校)〉

PHP mysql_connect() 出現 function not define 問題解決

Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).

只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟:

  1. vi /etc/my.cnf
  2. #socket=/var/lib/mysql/mysql.sock # 註解掉
  3. socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock

此完成後即可正常使用.

閱讀全文〈PHP mysql_connect() 出現 function not define 問題解決〉

Bash Shell 快速鍵

Bash Shell 快速鍵列表

  • Alt-F: 到此行的後一個字
  • Alt-B: 到此行的前一個字
  • Ctrl-A: 回到此行最前面
  • Ctrl-E: 到此行的最後面
  • Ctrl-U: 清除一行中游標之前的所有文字
  • Ctrl-K: 清除一行字游標之後的所有文字
  • Ctrl-H: 移除游標前的一個字元(同 backspace)
  • Ctrl-D: 移除游標後的一個字元(若於命令列有字的話)
  • Ctrl-D: 結束輸入(如果您在 shell 下,就會跳出該 shell)
  • Ctrl-C: 終止正在執行的程式
  • Ctrl-Z: 暫時停止程式(將該工作放到背景) (fg 1, fg 2 拿回)
  • Ctrl-S: 停止輸出到畫面上(類似 Scroll Lock, ex: cat xxx 需暫停時使用)
  • Ctrl-Q: 回復輸出到畫面上(恢復Ctrl+S的輸出)
  • Ctrl-W: 刪除游標之前的最後一個單字
  • Ctrl-R: 搜尋過去的命令 (繼續往回找 Ctrl-r(上一個的上一個), 找過頭 Ctrl-R (Ctrl+Shift+r) 往下找)
  • Ctrl-F: 游標向後移動
  • Ctrl-B: 游標向前移動
  • Ctrl-P: 找上個指令(同上箭頭)
  • Ctrl-N: 找下個指令(同下箭頭)
  • Ctrl-T: 相近兩個字元互換位置
  • Ctrl-Z: 丟到背景執行, 可用 fg 回復
  • Ctrl-L: 清畫面
  • Ctrl-J: 同 Enter
  • Ctrl-I: 同 Tab
  • Ctrl-V: 加上要輸入特殊字元, ex: Ctrl-V Ctrl-C 會出現 ^C 而不是中斷
  • Ctrl-V TAB: 輸入 TAB,而不是命令列擴展
  • C-xC-e 可以使用 vim 寫入 script 讓他一次執行
  • Alt-d: 刪除游標之後的一個單字
  • TAB: 擴展要輸入的檔案到命令列上
  • 上/下箭頭: 開始搜尋過去的命令
  • ESC-T: 最後 兩個 "單字" 互換位置

閱讀全文〈Bash Shell 快速鍵〉

遠端執行命令、多台機器管理(Push.sh)

當手上有 1 台機器, 管理的方法是 ssh 到那台機器做事.

當手上有 5 台機器, 管理的方法就會想要遠端執行, 就會使用

用法: ssh 主機名稱 "要執行指令"
ssh hostname 'sudo cp http.conf /usr/local/apache/conf/'
ssh hostname "ls"
ssh hostnmae "sudo /usr/local/apache/bin/apachectl restart"

當手上有 30 台機器的時後, 管理的方法就會如下:

用法: for i in i的值; do 目前機器要下的命令 '遠端機器要下的命令'; done;
for i in 1 2 3; do scp xxx.conf w$i.hostname:; done;
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo mv xxx.conf /usr/loca/conf'
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo ls /'; done;
1 2 3 ... 自己寫要幾台都行, 可以改成自己其它取的值

注意: 目前機器要下的命令, 不要用 " 或 ' 包起來, 只有要給 遠端機器 的指令才要用 " 或 ' 包起來.

閱讀全文〈遠端執行命令、多台機器管理(Push.sh)〉

QEMU in ubuntu(vmware)

現在 IE 的市佔率還是在高點, 頁面設計還是得要以 IE 為主, 以 Linux 當 Desktop 的情況, 還是會遇到不得已, 非得要灌 Windows 的狀況(在 Linux 裝 IE 看起來實在太辛苦了)

不過 qemu 在灌 XP, 實在是異常的辛苦(光灌放在那邊就等了 8 個多小時才灌好)..

以下來記錄一下整個流程.

閱讀全文〈QEMU in ubuntu(vmware)〉