MySQL 換算 Unix Timestamp 日期時間

在多時寫程式都會用 Unix Timestamp 儲存時間,好處是可以很簡單作日期計算,以及用不同格式顯示日期。 以前儲存在 MySQL 的日期時間,會擷取後用 PHP 的 date() 函式顯示,但 MySQL 已經內置了用作換算 Unix Timestamp 的功能,用起來很方便,以下記錄一下用法。 UNIX_TIMESTAMP() — 取得目錄 Unix Timestamp: 以前習慣在 PHP 用 time() 函式插入 Unix Timestamp 到 …

同時安裝 MySQL 及 MariaDB

MariaDB 是 MySQL 的替代產品, 也是 RHEL 7 及 CentOS 7 的預設資料庫系統。有時需要在 MariaDB 及 MySQL 之間做測試, 或者在不同版本 MySQL 之間做測試, 同時安裝及運行 MariaDB 及 MySQL 會很方便, 以下紀錄一下在主機內同時安裝 MariaDB 及 MySQL 運行, 當然如果有需要, 也可以按此方法安裝 …


RHEL 7 / Centos 7 yum 安裝 PHP 5.5, 5.6, 5.7

我喜歡用 RHEL 及 CentOS 的最主要原因, 是因為 Redhat 對產品的支援周時長達 10 年, 對於生產環境的主機這點很重要, 不用經想準備為系統作升級。但 CentOS 有一個缺點, 就是預設的套件版本較舊, 像 PHP 版本, 除非手動編譯原代碼安裝, 否則可能到系統的生命周期完結, 也不會作主要升級。 現在 CentOS 7.3 的預設 PHP 版本為 5.4.16, 要在 CentOS …

Linux 壓縮及解壓 .tgz 及 .tar.gz 檔

在開源的領域中, .tgz 或 .tar.gz 格式的壓縮檔很流行, 這是 .tar 壓縮檔使用 gzip 再次壓縮。 這個檔案格式其實就是把一般的 .tar 檔案使用 gzip 再壓縮 要解壓 .tgz 檔案, 跟解壓 .tar 類似, 只要加入 “z” 參數即可, 以下是解壓 .tgz 及 tar.gz 的指令: $ …

CentOS 7 變更 SSH 埠號 (+SELinux 設定)

以資安的角度,一般上建議將 SSH 預設的 22 埠號變更為其他埠號,而選擇埠號時則盡量使用 1024 以上的埠號,以及不要與其他系統服務的埠號相撞。 RHEL 及 CentOS 的 SSH Server 設定檔是 /etc/ssh/sshd_config, 以下會設定 SSH 的埠號為 2202, 先開啟 SSH 設定檔: # vi /etc/ssh/sshd_config 找到以下一行: # Port 22 改為 …

Ubuntu 設定 root 密碼

Ubuntu 預設的 root 沒有公開,一般上會假設要以 root 權限執行指令,便用 sudo 執行,但如果在家中的電腦,或者測試用的系統,為求方便要設定 root 密碼,在 CLI 也很容易做到。 先用一毎有執行 sudo 權限的帳號登入,開啟終端機,執行以下指令: $ sudo passwd root 然後要輸入登入帳號的密碼,之後便可以設定 root 密碼了。 設定好 root 密碼後,可以用 su 切換到 root 測試是否成功: $ …

crontab 每 30 秒自動執行

crontab 容許最少自動執行間隔為 1 分鐘, 即在 crontab 的格為是: 如果需要將自動執行時間設定為少於 1 分鐘, 或者以秒數為單位, 可以透過 crontab 配合 sleep 指令完成, 或者建立一個 shell script 再配合 sleep 實現。 以下會示範在 crontab 或 shell script, 設定每 30 …

手動設定網址與 IP 對應 — /etc/hosts

Unix Like 系統在向 DNS 查詢網址與 IP 對應前, 會先查詢檔案 /etc/hosts 的內容, 下文會介紹 Linux 的 /etc/hosts 檔案, 及手動設定網址與 IP 對應的方法。 方法同樣適用於 Mac OS X 及 Windows, 格式是一樣的, 只是檔案位置不同, 它們的位置在: Linux: /etc/hosts Mac …

防止 Shell Script 重複執行

Shell Script 對日常系統維護很實用,對於多用戶系統,Shell Script 經常面對一個問題是重複執行,即一個 Shell Script 正在執行時,避免另一個使用者執行。另一個情況是,當 Shell Script 變得複雜及龐大時,放到 crontab 定時執行時 (例如每分鐘執行一次),Shell Script 還未完成上次的執行,就重複自動執行一次。 要防止 Shell Script 重複執行,一般上會用 lock file 及 PID 的方法,不論是 lock file 還是 PID,除了用 Bash …