Linux 的 Bash Shell 很常會使用到 date 的命令,特別是用到備份、某些固定時間該做的處理等等,參數是哪些呢?
每次都是去 man date 來查看這個參數(因為會有大小寫不同,24hr、前面補0 等不同),在此紀錄最常用的年月日參數,並把跟 awk 搭配的方式列出來。
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
Linux 的 Bash Shell 很常會使用到 date 的命令,特別是用到備份、某些固定時間該做的處理等等,參數是哪些呢?
每次都是去 man date 來查看這個參數(因為會有大小寫不同,24hr、前面補0 等不同),在此紀錄最常用的年月日參數,並把跟 awk 搭配的方式列出來。
lnav (Log File Navigator) 是看 Log 檔的檢視工具,從最粗簡的來說,lnav 可以將 Log 檔著色,把資料欄位區隔出來,再來深入可以將 Log 檔做整合,做些過濾等等的事情。
Nginx 想要將每個 request 花費的時間記錄起來,要怎麼設定呢?
遠端機器很多,或者機器有多台,但是想要將 Log 檔靠 tail 一起持續觀看(ex: 看每台的 syslog.. 等),可以使用下述程式:
依照此篇作法:Apache Log檔 使用日期格式 當 檔名設定,客製化 Log 檔名,卻會造成檔名砍不乾淨的問題,要怎麼正確清掉過期得檔案呢?
Log (/var/log/apache2) 的資料夾權限變更,造成 Logrotate 的時候無法 rotation,錯誤訊息如下:
error: skipping "/var/log/apache2/access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
要如何修正此問題呢?
註:Logrotate 的權限一定是夠,所以不是權限不夠的問題。
Apache 預設的 Log 檔是存成: access.log、error.log, 再經過 Log rotation 的話, 會變成如下:
access.log.1
access.log.2.gz
access.log.3.gz
...
如果想要依照日期來產生 log 檔(ex: access-2014-08-01.log), 要如何做呢?
Apache 預設設定會每周運行 Log Rotation, 會產生如下述的檔案:
那這 Log rotate 時, 程式做了哪些事情呢?
註: 嚴格講, 不是 Apache run Log rotate 的, 但是此篇主要只是要知道 Log rotate 時有做哪些事情就好.
Web server(ex: Apache2、Nginx..) 的存取留下 Log 可以觀察很多東西、追蹤、找問題 等等, 但是量太大的時候, 另外一個困擾也會出現, IO 吃緊, Loading 隨著飆高.
查官方網頁的說明: Log Files - Apache HTTP Server, 居然找不到關閉的方法. XD
於 Apache2 想要將 VirtualHost 內某個 Domain 的 Log 記錄關掉, 要如何做呢?