周記 2017 4.10 - 4.16

定時任務

應用每天都會產生日志,需要定期清理,如何把這個過程自動化呢。

找到需要刪除的日志文件 find命令
 find [path] [expression]
 path:目錄地址。
 expression:
  -options:指定find命令常用選項。
   -name:按照文件名查找。
   -perm:根據文件權限查找。
   -user:按照文件屬性來查找文件。
   -group:按照文件屬主來查找文件。
   -mtime:-n文件更改時間距現在n天以內,+n文件更改時間距現在n天以前。
   -newer:file1!file2,查找更改時間比文件file1新但比file2舊的文件。
   -type:b 塊設備文件,d 目錄,c 字符設備文件,p 管道文件,l 符號鏈接文件,f 普通文件。
   -size n:查找文件長度為n塊(一塊-312字節)的文件,c表示文件長度以字節計算。
  -print:將匹配文件輸出到標準輸出。
  -exec:對匹配文件執行shell命令,格式(command {} \;)。
  -ok:和exec作用相同,執行每個命令前,給出提示,由用戶確定是否執行。

示例:

find ./ -size 0 exec rm {} \; # 刪除文件大小為0的文件
find ./ -type f -mtime +5 -exec rm {} \; # 刪除更改時間在5日之前的文件
find ./ -name '*.log' -mtime +5 -ok rm {} \; # 在當前目錄中查找所有以.log結尾文件,更改時間在5日以上的文件,并刪除它們,刪除前給出提示。

find與exec一起使用,如果找到的文件過多某些系統會出現溢出錯誤;所以可以結合xargs使用,其每次獲取一部分文件而不是全部。

find ./ size 0 | xargs rm -rf

刪除較早日志腳本:

delete_log.sh
#!/bin/sh
find /opt/web/tomcat9/creditaudit -type f -name '*.log' -mtime +30 | xargs rm -rf

參考1
參考2

定時執行 crontab

查看當前用戶定時任務:

cat /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

特殊符號:

特殊符號:
*:代表所有可能的值。
,:隔開值指定一個范圍,“1,2,3”。
-:表示整數范圍,"1-3"。
/:表示時間間隔頻率,"0-23/2"表示每2個小時執行一次;"*/10"表示每10分鐘執行一次。

常用命令:

crontab -e # 編輯某個用戶的crontab,默認編輯當前用戶。
crontab -l # 顯示用戶crontab文件內容。
crontab -r # 刪除某個用戶的crontab文件。
crontab -i # 在刪除用戶crontab文件時給出確認提示。

執行:

crontab -e
add:
10 0 * * * /opt/web/delete_log.sh >/dev/null 2>&1

參考

SnippetsLab

這是一款很棒的做筆記軟件,類似有道筆記,特別適合保存代碼。
特點:

  1. 支持直接拷貝代碼,針對不同代碼Java/Python/...語法高亮。
  2. 支持Markdown語法。
  3. 支持搜索。

缺點:目前僅僅支持Mac平臺。

三級目錄

支持多種編程語言

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容