Tag: Debian & Ubuntu

記錄檔管理工具 – logrotate

記錄檔在遇到問題時, 對於找出出問題及除錯十分有用。但由於記錄檔不斷儲存後, 所佔用的硬碟空間會越來越多, 所以便有了紀錄檔輪替的工具, 而 logrotate 便是 RHEL / CentOS 下的預設記錄檔輪替工具。 logrotate 預設會每天自動執行, 執行時會根據設定檔 /etc/logrotate.conf 對指定的記錄檔輪替, 可以是每天、每星期、按檔案大小等自動輪替, 以及會舊有的記錄檔會保存多久。 /etc/logrotate.conf 內設定了會 include 目錄 /etc/logrotate.d 的檔案, 可以將個別記錄檔的輪替設定, 在這個目錄建立新的檔案設定, 對日後的管理也較方便。 以 httpd …

Linux 執行目錄下所有 Script

本文關於在 Linux 下如果想一次過執行目錄下所有 Script 的方法。 在 Linux 下要執行目錄下所有 Script, 可以逐一把 Script 敲入鍵盤, 例如: $ ./script.sh $ ./script2.sh $ ./script3.sh …… 除了這樣逐一輸入外, 可以用以下三種方法一次把目錄下的 Script 執行: run-parts 指令 使用 run-parts 指令, …

Linux 綁定非本機 IP – net.ipv4.ip_nonlocal_bind

在 Linux 如果需要綁定本機不存在的 IP, 例如在 HAproxy 及 Nginx 可能會用到, 需要開啟 Kernel 的參數 net.ipv4.ip_nonlocal_bind. ipv4 及 ipv6 的 ip_nonlocal_bind 參數預設是關閉, 要檢視目前的狀態, 可以用以下指令: # sysctl net.ipv4.ip_nonlocal_bind # sysctl net.ipv6.ip_nonlocal_bind 如果上面兩個指令的回傳是 0, …

Linux 使用 chsh 變更預設 shell

Linux 下有預設使用的 shell, 本文會介紹用 chsh 指令變更預系統預設 shell. 首先檢查現在使用的 Shell: 以上指令會回傳目前使用的 Shell. 然後需要檢視系統內有那些 shell 是可用, 可用的 shell 會紀錄在 /etc/shells 檔案內, 用 cat 指令檢視 /etc/shells, 列出所有可用 shell: $ cat /etc/shells 會有類似下面的輸出: …

Linux 列出檢視所有系統帳號

Linux 下的 /etc/passwd 檔案儲存了系統帳號的資訊, 其中也包括帳號的使用者名稱, 而 /etc/passwd 沒有包括密碼在裡面, 沒有 root 權限也可以讀取。要列出所有系統帳號, 只要用 cat, more,less 等指令, 便可以列出帳號: $ cat /etc/passwd 執行以上指令後, 會有類似以下的輸出: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt …

Linux 限制帳號及群組 SSH 同時登入

在登入 SSH 時, 可以開啟多個 SSH Client , 使用同一個帳號同時連接, 這個情況有時也是需要的。但如果要限制個別帳號同時登入的數量, 可以用以下方法設定。 在多數 Linux 發行版, 在 /etc/security/ 目錄下的 limits.conf 檔案, 可以設定每個帳號或群組同時建立 SSH session 的數量。編輯這個檔案需要有 root 權限, 可以用 sudo 開啟: $ sudo …

Shell Script 將指令輸出儲存到變數

在 Shell Script 要將執行指令的輸出儲存到變數, 而不是直接輸出結果, 可以用以下兩種寫法: 或 要留意的是, 跟 PHP 或 Python 等不同, 在等號 (=) 前後不可以加入空間。 例如要將日期儲存到變數 today, 可以用以下寫法: 或 將變數內容輸出跟其他變數一樣, 可以用 echo 或 printf: 以上是在 Shell Script 把指令輸出儲存到變數, …

Shell Script 加入今天的日期

在寫程式時很多時也需要使用今天的日期, 例如在建立檔案或目錄名稱時, 會加入日期以作識別。 Linux 的 date 指令可以輸出日期, 如果只要單純地輸出日期, 可以這樣寫: 以上指令會用以下格式輸出今天日期: Today is Tue Dec 10 08:21:01 HKT 2019 如果想要建立一個目錄, 在後面加入今天日期以作識別, 例如建立像這樣的目錄 /backup/files-20191210/, 可以用以下寫法”

Linux 修改系統帳號使用者名稱及 UID

在 Linux 要修改系統帳號的使用者名稱或 UID, 需要使用 usermod 指令完成。以下是在 Linux 下修改使用者名稱、UID、使用者家目錄的方法。 在修改使用者名稱前, 需要先確定該帳號目前並沒有登入, 以及沒有 process 正在執行, 如果帳號已經登入或有 process 正在執行, 使用 usermod 後會出現以下錯誤: usermod: user tom is currently used by process xxxx …