2008年7月2日 星期三

Postfix 郵件功能

在 Postfix 中有一套 Mail Queue Management 機制,所有郵件都可以全自動的處理,但在發送大量郵件時,有些必要的維護就可能就有需要手動處理,例如刪除所有還在 Queue 中的郵件。

以下是一些常用的指令:

# 列出目前在 Mail Queue 中的信件
mailq

# 刪除所有在 Queue 中的郵件
postsuper -d ALL

# 刪除所有正在 deferred 佇列中的郵件 ( 刪除曾經發送失敗的信 )
postsuper -d ALL deferred

# 刪除所有正在 deferred 佇列中的郵件 ( 可看出哪些信被刪除了 )
find /var/spool/postfix/deferred -type f -exec rm -vf \{\} \;

# 刪掉「三天以前」無法發出的郵件
find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f \{\} \;

# 列出目前所有無法發出的郵件
find /var/spool/postfix/deferred -type f -exec ls -l --time-style=+%Y-%m-%d_%H:%M:%S {} \;

# 刪除超過 5 天的 "defer" 佇列中的退信紀錄
find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f \{\} \;

預設所有跟 Postfix 相關的郵件都會放在 /var/spool/postfix/ 目錄下,想瞭解 Postfix 是如何管理 Mail Queue 的可以參考 qmgr - Postfix queue manager 的手冊。

以下是每個目錄摘要的說明其用途:

MAIL QUEUES

  • incoming

    從網路寄信進來本機的信。
    或從本地寄送到本地的信。
  • active

    正在準備發送的郵件。
  • defered

    無法傳送的信。會持續重試。
  • corrupt

    無法讀取或毀損的信。
  • hold

    被暫停發送的信。需要手動開啟才會發出。

DELIVERY STATUS REPORTS

  • bounce

    每一位收件者的寄送狀態資訊,說明為什麼被「退信」。
    由 bounce(8) 程式控管
  • defer

    每一位收件者的寄送狀態資訊,說明為什麼被「延遲寄信」。
    由 defer(8) 程式控管
  • trace

    每一位收件者的寄送狀態資訊,說明被 Postfix 用 "sendmail -v" 或 "sendmail -bv" 指令執行過的狀態。
    由 trace(8) 程式控管



參考: http://blog.miniasp.com/?tag=/postfix

2008年5月28日 星期三

Excel 換行或斷行符號處理

這裡是談Linux的東西,但是暫時沒地方放Excel的東西,就先寫在這裡吧!

1. 先把 換行符號(char(10) 改成 空白 char32

=SUBSTITUTE(A999, CHAR(10), CHAR(32))

2. 然後再用資料剖析 把資料分成多個欄位

2008年2月20日 星期三

設定 Cakephp console on Windows

1. setup 環境變數:
PATH= C:\wamp\bin\php\php5.2.5\;E:\cake\cake\console

2. 可以到處下 cake 檢查 app 目錄和 core 目錄

3. cake bake (煮蛋糕了!)

*** 注意 WAMP 有兩個 php.ini 檔案 (一個是apache 在用的,一個是php),花了一個下午才發現這個問題
- cake console 會使用 php 那個 (wamp\bin\php\php5.2.5\)

2008年2月15日 星期五

Apache Log

通常Apache Log 都很肥...
這時候要利用它(access_log)來做SEO就很累了... 常常跑一半會當掉...
所以 這時候就要用 Rotate log

怎麼做呢?

使用Piped Logs
- Apache 本身有個rotatelogs 的軟體
把原先的 CustomLog logs/access_log combined 改成
CustomLog "/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" combined
- 上述指令會每24小時rotate 一次
或是
CustomLog "bin/rotatelogs /var/logs/logfile 5M" common
- 限制5 Mb的大小

另外 error_log 和其他的log 也可以如法泡製.
ErrorLog "bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"


參考:http://httpd.apache.org/docs/2.0/logs.html
http://httpd.apache.org/docs/2.0/programs/rotatelogs.html

2008年1月29日 星期二

Trac + SVN 安裝設定 筆記

設定 Subversion:

建立檔案庫:
svnadmin create /var/svn/xxx

chown -R apache:apache /var/svn/xxx

編輯 subversion.conf



設定Trac:
參照
http://blog.pixnet.net/candyz/post/943055

環境設定: /var/trac/projects/crm/conf/trac.ini
使用 Trac standalone web server `tracd`:
tracd --port 8000 /var/trac/projects/crm

==========================================
更改設定(中文化)

1. 修改 /Python24/Lib/site-packages/trac,搜尋所有的*.py檔案,
找mainnav,將html.A('這裡的英文換成中文')。

2. 改 template 下的 cs檔案

3. 主選單中文字放大
/Python24/share/trac/htdocs/css 修改 trac.css 裡的mainnav, nav

4. 翻譯文字參考 http://trac.edgewall.org/wiki/TracTermsZhTw


===========================================
* 必裝 Plugin (附加套件)

*1. WYSIWYG Editor Plugin (可以直接所見及所得的修改 內容,不用記WikiFormat code)
http://trac-hacks.org/wiki/TracWysiwygPlugin

2. Calendar (還沒試過)
http://trac-hacks.org/wiki/CalendarPlugin 裝完後會出現 Azcalendar-tab

*3. Web Admin (0.11版已經內含,可透過網頁做專案相關設定)
http://trac.edgewall.org/wiki/WebAdmin
裝完後登入admin, 可看到admin-tab

4. IncludeMacro (還沒試過)
http://trac-hacks.org/wiki/IncludeMacro
裝完後每個專案可以有共同的Wiki網頁

*5. AccountManager (可管理專案的成員帳號)
easy_install http://trac-hacks.swapoff.org/svn/accountmanagerplugin/0.10

*6. IniAdmin (可以直接在web上調整trac.ini)
easy_install http://trac-hacks.org/svn/iniadminplugin/trunk/

7. Gantt 甘特圖


其他參考資料:
A. 簡睿這位仁兄分享了很多篇幅,滿有幫助的。
http://code.google.com/p/trac-tw/

B. Tsung's Blog 也有幾篇
http://plog.longwin.com.tw/news-technology/2007/07/11/trac_intro_function_2007

C. Yukuan's Blog
http://yukuan.blogspot.com/2007/09/svn-trac-installation.html

D. 在 Windows 上使用 Trac on Apache - 安裝與設定篇
http://blog.roodo.com/jaceju/archives/2703934.html http://blog.roodo.com/jaceju/archives/2703935.html

E. Linux Subverison server and Trac server (英文)
http://www.yolinux.com/TUTORIALS/LinuxSubversionAndTracServer.html

2007年9月11日 星期二

Firefox 下方的status bar 出錯

步驟一:
這是 Sun 的 Java Console Extension 出現的問題,
請到下面這個目錄,或者類似的目錄

C:\Program Files\Mozilla Firefox\extensions\{CAFEEFAC-0016-0000-0001-ABCDEFFEDCBA}

步驟二:
找到 chrome.manifest 這個檔案
使用 notepad 開啟編輯

步驟三:
找到這一行(通常是最後一行)
locale javaconsole1.6.0_01 zh-TW chrome/locale/zh_TW/ffjcext/

步驟四:
把 zh_TW 改成 zh-TW
也就是把「底線」改成「減號」

步驟五:
存檔,然後以安全模式開啟firefox

“C:\Program Files\Mozilla Firefox\firefox.exe” -safe-mode

退出firefox,再以正常方式啟動firefox就可以了。

2007年7月10日 星期二

DNS Server (BIND 9.x) 常見問題

1 error: bad owner name(check-names)

--> dns 的 RFC 中規定,名稱帶_(底線)是不允許的。
  不過,可將 check-name 取消就可以了。
  在/etc/resolv.conf 加入 options no-check-names

或是在 zone xxx {
check-names ignore;
}