Linux Logrotate 想要用年月日當檔名

Linux 的 Logrotate 預設都是用 1、2、3... 然後自動壓縮、刪除~~

但是檔名若想要用年月日結尾,要怎麼設定呢?

閱讀全文〈Linux Logrotate 想要用年月日當檔名〉

Linux grep 結果不要秀 路徑 與 檔名

Linux 若想要多檔案、目錄要 grep 內容,可以使用 -r,但是出來的結果都會有檔名、路徑,不要呈現要怎麼做呢?

Linux grep 結果不要秀 路徑 與 檔名

Linux 的 grep 通常後面會 Pipe 接很多的處理,結果有檔名、路徑等資料,反而會造成後續的困擾。

可以使用 -h 來決定檔名路徑是否要呈現

  • -h, --no-filename
  • -H, --with-filename
    • 通常使用 -H 的話,還會搭配 -n 顯示行數
  • 範例:grep -r -h "match keyword" *

Vim 指定 檔案名稱 使用特定的 Syntax

.bashrc 越寫越多,想要將 alias、function 等等拆開,但是遇到 Vim Syntax Highlight 預設不支援的問題,要怎麼解決呢?

  • 註:於檔案最後面加上 # vim: syntax=sh 沒有效用

閱讀全文〈Vim 指定 檔案名稱 使用特定的 Syntax〉

Bash script 取得自己的檔案名稱

Bash 的 Shell script 要抓自己的檔案名稱,只要用 $0 就可以抓到,不過 Shell script 若被呼叫時,用 $0 抓到的名稱是如何呢?

另外,Bash 有哪些預設的變數可以使用呢?

閱讀全文〈Bash script 取得自己的檔案名稱〉

Linux Shell 找出修改過的檔案做 scp 指令(特殊檔名處理)

想要定時同步有新增、修改的檔案,可以使用 rsync 達成。

但是若檔案數太多,用 rsync 光 diff 就會花掉很多時間,這時候可以考慮使用 find 先找出有修改過的檔案,再來做 scp 即可。

註:此篇環境為 Debian / Ubuntu Linux + Bash Shell

閱讀全文〈Linux Shell 找出修改過的檔案做 scp 指令(特殊檔名處理)〉

Apache Log檔 使用日期格式 當 檔名設定

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檔 使用日期格式 當 檔名設定〉