Tag: Debian & Ubuntu

同時安裝 MySQL 及 MariaDB

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

Linux 解壓 .bz2 及 .tar.bz2 壓縮檔

在 Linux 及其他 Unix Like 作業系統, 要解壓 .bz2, .bz, .tar.bz2, .tbz2 及 .tbz 可以用 bzip2 指令, 指令語法是: $ bzip2 -d filename.bz2 bzip2 指令預設會在解壓後, 將原來的壓縮檔刪除, 要保留原來的壓縮檔, 需要加上 “k” 參數: $ …

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

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

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 …

防止 Shell Script 重複執行

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

解決 bash: scp: command not found lost connection

scp 可以在透過 SSH 加密下, 在本機或兩台主機間複製檔案, 今天執行 scp 時出現以下錯誤: 主機原來已經有安裝 scp, 為何會出現 “command not found” 呢? 而且如果沒有安裝 scp, 應該不會出現要我輸入遠端主機密碼的提示, 再細心想一想, 原來只是自己太大意。scp 在兩台主機間複製檔案時, 需要在兩邊都有安裝好 scp, 而遠端主機是新安裝的, 沒有安裝 scp. 用 SSH 登入遠端主機, …

解決 Nginx 504 Gateway Time-out

當 Nginx 發生 504 Gateway Time-out 時, 一般上原因是一些程式執行需時較長時間, 當執行時間超出 Nginx 的限制時, 便會出現 504 Gateway Time-out 問題, 如果排除了程式上的問題, 解決方法是將執行時限延長 (或者升級主機的硬體也可以)。 首先開啟 Nginx 的網站設定檔, Nginx 將網站設定檔都放在 /etc/nginx/ 目錄下, 下面以 www.phpini.com 為例: …

rsync 透過 SSH 傳送檔案

rsync 是十分好用的同步備份工具,rsync 預設傳輸時不會加密,但其實 rsync 是支援 SSH 傳輸檔案,以下是 rsync 透過 SSH 同步檔案的方法: 從本機用 rsync 透過 SSH 複製檔案到遠端: 在 rsync 加上參數 “-e” 可以自訂通訊協定,後面加上要用的通訊協定即可。 # rsync -avzhe ssh my_backup.tgz username@192.168.1.100:/backups/ username@192.168.1.100’s password: …