閏年計算公式

一般講法是每四年就有一年是閏年, 但這個講法只符合大部份的閏年, 有些年份還是不會每四年一閏的。 在求學時期學寫程式時, 就寫過這樣的程式, 很簡單檢查該年是否閏年, 而閏年的規則有 2 條: 1. 年份可以被 400 整除, 是閏年. 2. 年份不能被 100 整除, 但可以被 4 整除, 是閏年. 現在很多程式語言也不用測試上面的規則, 因為程式語言的開發者已經寫好, 例如 PHP 的 date() 函式, 這樣可以檢查是否閏年: …

英制尺寸換算 — 吋、分

公制對一般人較易理解,但因為英、美兩國還是用英制,而且像套筒、螺絲批批頭接口等規格都是用英文,學會看英制還是很有用的。 很多時都五金零件行買螺絲,除了要求公制規格外,也有英制的 “分”,例如 1 分螺絲、2 分螺絲, 1 分大約等如 3.175mm;1 吋等如 2.54cm, 這個還可以很容量理解,但一些套筒或螺絲批批頭,會用分數表示,例如 1/8, 3/8, 1/4 等。 1/8, 這個分數的意思是 1/8 寸,即 1 分。那麼就是說 1 分等如 1/8 寸,如果是 2 分,會用 1/4 代表。 …

Shell Script 檢查空白目錄

Shell Script 要檢查目錄是否沒有內容,可以用以下寫法: 以上程式碼用了 ls -A 指令檢查, ls 的 -A 參數會顯示包括隱藏檔的所有目錄內容,只是不會顯示 “.” 及 “..”,從而檢查 /var/www/html 是否空白目錄。

MRTG 監測 CPU Load Average

MRTG 是很有名的流量監測工具, 優點是簡單易用, 一般上 MRTG 會用在監測伺服器或網路設備的流量, 但除了網路流量外, MRTG 也可以監測其他系統負載相關的數據, 本文會介紹用 MRTG 監測伺服器 CPU Load Average 的方法。 首先需要安裝 MRTG, 可以參考本網另一篇文章 CentOS 安裝 MRTG. 然後開檔案案 /etc/mrtg/mrtg.cnf: # vi /etc/mrtg/mrtg.cfg 在檔案最下方加入以下設定: (需要將 [email protected] …

Linux 開啟檔案太多錯誤 “too many open files”

如果在 Linux 下的指令或 Script 開啟的檔案數量太多,超過了系統開啟檔案的限制,便會看到以下錯誤: Too many open files (24) 解決方法是提高開啟檔案的限制,而提高開啟檔案上限,分別可以設定整個系統通用,或者只針對個別使用者帳號,以下是設定方法: 個別使用者帳號設定: 開啟檔案 /etc/security/limits.conf: # /etc/security/limits.conf 例如我要將 useracc 帳號的開啟檔案限制改為 500000, 在檔案最後加入以下兩行: useracc hard nofile 500000 useracc soft nofile 500000 然後開啟檔案 …

免費公眾 DNS 伺服器

Top Public Internet DNS Servers 每部電腦上網也會透過一組 DNS Server,如果在電腦或路由器設定自動取得 DNS,一般上會使用 ISP 提供的 DNS。除了使用 ISP 提供的 DNS Server 外,也可以使用一些免費的公眾 DNS Server,以下是一些免費提供給公眾使用的 DNS Server: 1. Google Public DNS Google 公眾 DNS 由 2009 …

CLI 執行 PHP 時自訂 php.ini 設定檔

很多情況需要在 CLI 下執行 PHP, 例如要執行 /root/my-script.php, 只要執行以下指令便可以: # php /root/my-script.php 在預設的情況下, 執行以上 PHP script 時, 會跟著預設的 php.ini 有著相同的設定。在 Apache 還好, 可以用 php_admin_flag 設定個別 VirtualHost, 但在 CLI 就不可以用 php_admin_flag 設定了。 以下是在 …

Redhat / CentOS 安裝 Dell OpenManage

Dell OpenManage Server Administrator (OMSA) 是 Dell PowerEdge 伺服器的硬體管理工具, 可以設定、監測伺服器的硬件狀態。以下記錄一下在 Redhat 及 CentOS 安裝 OpenManage 的步驟: 1. 安裝 Dell 的 Yum Repo: # wget -q -O – http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash …

MySQL 5.1 升級到 MariaDB 5.5

CentOS 6 預設的資料庫系統是 MySQL 5.1, 當伺服器升級到 CentOS 7 後, 預設的資料庫系統改為 MariaDB 5.5, 即等同 MySQL 5.5. 由於資料庫的數量較多, 而且體積也很大, 所以不會用 mysqldump 轉移, 而且將整個資料庫目錄搬到新伺服器, 再用 mysql_upgrade 工具實現, 以下是由 MySQL 5.1 升級到 MariaDB 5.5 …

Redhat / CentOS / Ubuntu 刪除帳號

以下是在 Redhat, CentOS 及 Ubuntu 刪除帳號的方法。 1. 刪除帳號: 用 root 身份直接執行 userdel 指令刪除帳號, 以下假設帳號名稱是 myusername: # userdel myusername Redhat 預設不會刪除使用者的家目錄, 要將使用者的家目錄一拼刪除, 可以加入 -r 參數: # userdel -r mynewuser 2: 刪除 …