Linux 設定排程 – crontab

查看與編輯 crontab

查看自己的 crontab

查看指定使用者的 crontab

編輯 crontab 內容

編輯指定使用者的 crontab

刪除 crontab 內容

crontab設定檔撰寫教學

範例如下:

crontab設定檔的特殊字元

特殊字元 代表意義
星號(* 代表接受任意時刻,例如若在月份那一欄填入星號,則代表任一月份皆可。
逗號(, 分隔多個不同時間點。例如若要指定 3:00、6:00 與 9:00 三個時間點執行指令,就可以在第二欄填入 3,6,9
減號(- 代表一段時間區間,例如若在第二欄填入 8-12 就代表從 8 點到 12 點的意思,也就是等同於 8,9,10,11,12
斜線加數字(/n n 代表數字,這樣寫的意思就是「每隔 n 的單位」的意思,例如若在第一欄填入 */5 就代表每間隔五分鐘執行一次的意思,也可以寫成 0-59/5

解決Windows下路徑名稱異常問題

名稱有中文或空白的問題

使用cmd指令時,有許多command line執行的工具,當路徑若出現中文或是空白時,會導致執行失敗。
例如C:\Program Files因為中間有一個空格,就很容易造成在執行時出現錯誤

若遇到這種狀況,建議可以改用資料夾的縮寫
例如
C:\PROGRA~1取代C:\Program Files
C:\PROGRA~2取代C:\Program Files (x86)

如何查找資料夾名稱縮寫


以上圖來說,資料夾.android的縮寫即為ANDROI~1

Linux下大檔案的log分割處理

使用指令分割大檔案

按檔案大小分割

按行數分割

二進位檔案分割(以-b引數來指定分割後的檔案大小)

固定時間切割LOG檔案

logrotate官方說明: https://linux.die.net/man/5/logrotate.conf

logrotate旨在簡化對生成大量日誌文件的系統的管理。它允許自動旋轉,壓縮,刪除和郵寄日誌文件。每個日誌文件可以每天,每週,每月或當文件太大時進行處理。

通常,logrotate作為日常cron作業運行。除非該日誌的標準基於日誌的大小並且每天要多次運行logrotate,或者除非使用了-f或–force選項,否則它不會在一天內多次修改日誌。

命令行上可以提供任意數量的配置文件。較新的配置文件可能會覆蓋較早的文件中提供的選項,因此列出logrotate配置文件的順序 很重要。通常,應使用包含所需其他任何配置文件的單個配置文件。有關如何使用include指令完成此操作的更多信息,請參見下文。如果在命令行上給出了目錄,則該目錄中的每個文件都將用作配置文件。

如果未提供命令行參數,logrotate將打印版本和版權信息以及簡短的使用摘要。如果輪換日誌時發生任何錯誤,logrotate將以非零狀態退出。

Continue Reading

Linux刪除檔案後空間未釋放

查詢硬碟使用狀況

使用df可以查看硬碟的使用狀況

查詢刪除卻正在被使用的檔案

lsof(lsof的全稱是list open files),此工具可以用來查看正在運行中的進程打開了哪些文件、目錄和套接字;是系統監測工具之一。
請參見: 好用的網管指令-lsof

查找打開,但是不能連接的文件
一個進程打開一個文件, 然後將其設為 unlinked 狀態, 則此文件資源仍能被進程使用, 但是其訪問路徑已經被刪除了.
因此, 使用ls不能將其列出. 只有當進程結束時, 才能釋放文件佔用的資源

查找unlinked 文件, 選項 +L, 作用: 列出打開文件的連接數

指定連接數的上限


Continue Reading