擷取 Log 紀錄檔最後 60 分鐘紀錄

Linux 有很多不同種類的 Log 紀錄檔,很多時需要在 log 裡面找資料,但當 log 的體積越來越大時,要查看還真是很吃力。這時可以用不同的 Linux 指令配合使用,將 log 紀錄檔最後的資料抽出,抽出資料的時間可以按需要更改。例如 /var/log/message 預設紀錄檔的格式可以用以下指令: 上面指令需要修改最後的檔案名稱,以及 “+%b %_d %H:%M” 這一組參數,需要配合 log 的日期時間格式。另一個例子是 log 裡面不是用一般的日期時間格式,像 QMail 是用 tai64n 格式儲存時間,需要用 tai64nlocal 轉換成普通時間格式,可以用以下指令擷取 /var/log/qmail/smtpd/current …

Wrapper Script – 替現有指令擴充功能

Wrapper Script 在 Unix Like 環境十分常見,它不會重新建立一個新的程式,而是會讀取 input 後加入所需的功能,再將 input 直接傳送給現有的指令。以下是 wrapper script 的簡單例子:以上 Wrapper Script 實際上沒有甚麼用途,它只是將輸入直接傳送給 /root/bin/my-script.sh,所以執行以上 Wrapper 跟執行 /root/bin/my-script.sh 是沒有分別,因為沒有加入任何新功能。如果有用過 QMail 的應該會編輯過 daemontools 的 run script, 這個 run script …

埠號 25, 465, 587 的分別

電郵伺服器會設定不同的埠號給 email client 作 relay 的用途,主要是埠號 25, 465 及 587, 以下是這些埠號的分別。Port 25Internet Assigned Numbers Authority (IANA) 把埠號 25 預留用作預設的 SMTP 埠號。但很多 ISP 避免客戶發送垃圾電郵,很多 ISP 將客戶的 port 25 封鎖,只允許客戶使用 ISP 提供的 …

檢查 SSL 憑證的網域

在建立 SSL 憑證時規劃好一點, 日後會省卻不少麻煩, 例如將不同憑證以域名命名, 或者像 Let’s Encrypt 一樣, 將憑證放到網址名稱的目錄.但如果建立憑證時沒有規劃好, 日後要檢視憑證的有效網址, 可以用 openssl 指令取得憑證的相關資訊, 以下指令可以取得憑證的資訊: # openssl x509 -in cert.pem -text -noout 只顯示 SSL 憑證的 CN, 可用以下指令: # openssl x509 …

grep 指令使用 or 及 and 查兩個條件以上

grep 指令是十分常用的字串搜索工具,可以對檔案或 pipe 輸入進行搜索,而 grep 指令也可以使用 or 或 and 對兩個以上條件搜索。OR以下幾種方法,也可以實現 or 搜索,會對兩種字串進行搜索,只要符合其中一個條件,即會印出那行的內容: $ grep ‘pattern1\|patten2’ file.txt $ grep -E ‘pattern1|pattern2’ file.txt $ egrep ‘pattern1|pattern2’ file.txt $ grep -e pattern1 -e …

Dovecot 用 Let’s Encrypt 設定 POP3/IMAP TLS 加密

以下是在 Dovecot 設定使用 Let’s Encrypt, 替 POP3 及 IMAP 加密的步驟。如果安裝 Dovecot 的系統已經安裝了 HTTPD Server, 執行以下指令:上面的 /var/www/html 要改成 httpd server 的網頁目錄,而 mail.mydomain.com 則要改成主機名稱,如果要加入多個主機名,在後面加入 -d domain 即可。如果沒有安裝 httpd server, 可以用 certbot 提供的 …

RHEL / CentOS 安裝 Certbot 取得及更新 Let’s Encrypt 憑證

Let’s Encrypt 推出免費 SSL 憑證,讓想使用 SSL 的網站節省不少成本,而且使用 Let’s Encrypt 提供的客戶端申請及 renew 憑證,比起在網上購買更加方便。雖然 Let’s Encrypt 的憑證每次只可以申請 3 個月,但可以使用 crontab 自動 renew 憑證,使用上也是很方便。以下介紹在 RHEL 及 CentOS 7 安裝 Let’s Encrypt 客戶端 Certbot,及使用 …

PHP 用 curl 取代 file_get_contents()

PHP 要擷取其他網頁的資料,最方便的方法是用 file_get_contents() 函式,以下程式碼即可完成:如果使用量不高,那麼用 file_get_contents() 沒什麼問題,但如果 PHP 擷取其他網頁內容的頻率很高,便建議改用 curl 完成了。因為 curl 的效率比 file_get_contents() 高,以下是 curl 的例子:

RHEL / CentOS 7 安裝 RRDTool 監測流量

RRDTool 是十分好的的統計工具,跟 MRTG 是同一位開發反者。相比起 MRTG, MRTG 主要用作統計及監測系統的流量,而 RRDTool 的功能更加強大,可以自訂多項數據在同一張圖,而且畫圖也可以自訂各種參數,可以畫出十分漂亮的統計圖表。另一款十分流行的系統監測工具 — Cacti,就是基於 RRDTool 開發的 PHP 程式。我個人是較喜歡用 RRDTool,雖然 Cacti 安裝好,會自行完成大部份設定工具,畫的圖也很漂亮,但我不太喜歡 Cacti 的操作較繁複,始終我管理的伺服器不是很多。以前要安裝 RRDTool 需要自行編譯原始碼安裝,現在 CentOS 預設也可以用 yum 安裝,省卻了不少工作,只是安裝的版本較舊,目前安裝安裝的版本是 1.4.8, 以下紀錄一下安裝 RRDTool 及設定監測網路流量的方法。執行以下指令安裝 …

QMail 提高 Log 檔案大小限制

QMail 的 Log 紀錄檔一般會儲存在 /var/log/qmail/ 下,然後將每一個服務分開儲存到各自的目錄,目錄下會有一個 current 檔案,這個就是 QMail 的 Log, 例如 smtpd 的 Log 在 /var/log/qmail/smtpd/current.這個 current 檔案預設會在 100KB 時自動清空加入新內容,要調高這個限制,可以開啟 log/run 檔案,例如 smtpd: # vi /var/qmail/supervise/qmail-smtpd/log/run 找到類似這行類似:exec setuidgid $LOGUSER …