1. 程式人生 > >定時清理,日誌檔案

定時清理,日誌檔案

1,find

·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find命令的引數;

pathname: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的檔案輸出到標準輸出。
-exec: find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。

#-print 將查詢到的檔案輸出到標準輸出
#-exec   command   {} \;      —–將查到的檔案執行command操作,{} 和 \;之間有空格
#-ok 和-exec相同,只不過在操作前要詢使用者
例:find . -name .svn | xargs rm -rf find /opt/logs/ -name "*gc.log" -mtime +2 -exec rm -rf {} \;
find /opt/logs/ -name "*.log.*" -size +100M -exec rm -rf {} \;

2,cron

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

-u user:用來設定某個使用者的crontab服務,例如,“-u ixdba”表示設定ixdba使用者的crontab服務,此引數一般有root使用者來執行。

file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。

-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。

-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。

-r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。

-i:在刪除使用者的crontab檔案時給確認提示。

$ crontab -e

可以像使用v i編輯其他任何檔案那樣修改crontab檔案並退出。如果修改了某些條目或添加了新的條目,那麼在儲存該檔案時, c r o n會對其進行必要的完整性檢查。如果其中的某個域出現了超出允許範圍的值,它會提示你。

我們在編輯crontab檔案時,沒準會加入新的條目。例如,加入下面的一條:

35 0 * * * /opt/logs/auto-del-gc-log.sh >/dev/null 2>&1

3,步驟:

1),編寫shell檔案auto-del-gc-log.sh ,

find /opt/logs/ -name "*gc.log" -mtime +2 -exec rm -rf {} \;
find /opt/logs/ -name "*.log.*" -size +100M -exec rm -rf {} \;

2),修改為可執行檔案,chmod +x auto-del-gc-log.sh

3),配置定時任務

#crontab -e

加入35 0 * * * /opt/logs/auto-del-gc-log.sh >/dev/null 2>&1

儲存後即完成

參考部落格:

https://www.cnblogs.com/intval/p/5763929.html

http://blog.csdn.net/shipeng1022/article/details/52814404

https://www.cnblogs.com/peida/archive/2013/03/25/2980121.html

相關推薦

定時清理日誌檔案

1,find ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的引數; pathname: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用

linux shell指令碼定時清理tomcat日誌檔案(初稿)

清理日誌的shell指令碼 ------------------------------------------------------------------------------------------------ #!/bin/bash tomcatnum=2 #清

linux編寫定時清空日誌檔案的指令碼檔案並新增定時任務

--------例如在/ usr / spider / logs /下新增一個clearlog.sh指令碼 1.建立clearlog.sh指令碼檔案touch clearlog.sh 2.編寫clearlog.sh指令碼內容:vi clearlog.sh, 3.儲存退出並賦予許可權

MySQL數據庫全備和增備、增量數據恢復案例以及定時清理 binlog 日誌

代碼 fun transacti 適合 壓縮包 password 意願 root ati 一、mysql 全量備份以及增量備份1、全量備份命令: /application/mysql/bin/mysqldump -uroot -p123456 --lock-all-tab

定時儲存apache日誌檔案

之前在寫程式碼的時候,發現apache的日誌檔案太大了,就想寫個指令碼定時備份apache日誌檔案。 需要注意,檔案在備份之後,如果直接刪除原日誌檔案,因為apache還是持有原檔案的控制代碼,如果不重啟apache,後面的日誌將會寫入不進去。解決方案是不刪除原日誌檔案,而

linux 使用crontab新增定時任務日誌顯示已經執行但是任務沒有成功呼叫解決方法

問題描述:使用 crontab 新增計劃任務定時呼叫儲存過程,crontab日誌顯示計劃任務已經執行,但是儲存過程沒有被呼叫。原crontab內容:50 10 * * *  sh /shell/demo.sh demo.sql >> /shell/demo.log

關於shell的程序替換process substitution日誌檔案與螢幕同顯:exec &> >(tee "$log_file")的解釋說明

一、解釋程序替換 程序替換僅僅在支援命名管道(FIFO)或/dev/fd來命名開啟的檔案的系統上可用。它採取的形式是: <(list) 或 >(list) 程序list執行時,輸入或輸出連線到FIFO或在/dev/fd中的檔案。作為擴充套件的結果

windows 定時清理指定目錄檔案bat

eg:     刪除E:\original目錄下(包括子目錄)所有以.png為字尾的、最後修改時間為7天前的檔案 指令:       forfiles /p E:\original  /s /m *.

ubuntu 定時備份清理tomcat日誌並且刪除七天之前的日誌

七天 date lin server class catalina rm -rf color mtime #!/bin/bash #logs_paths #logs_paths[0]="/usr/local/webserver/tomcat/logs" #logs_pa

Linux下通過logrotate定時清理壓縮軟體日誌如mysql、nginx、tomcat

tomcat日誌如果放任不管,那麼日誌檔案會越來越大,檢視起來也不方便。另外,如果catalina.out的大小超過了2G,那麼tomcat可能在沒有錯誤提示的情況下崩潰、無法啟動。 所以為了避免出現這個問題,我們應該每天分割catalina.out,logrotate就

【Linux】linux定時清除N天之前的檔案一般用於清除日誌檔案

定時清除,使用linux的crontab定時任務 *  *  *  *  *  command  分 時 日 月 周 命令  清楚日誌指令碼 find /root/smsp/logs/ -mti

通過批處理文件使用7zip執行備份將1日和15日的備份再另外備份定時清理過期備份

命令行備份 命令行清理 Batch File 批處理文件 批處理備份 7z.exe是個好東東,N多年前,當時試用了各種命令行壓縮軟件,效果都不怎麽樣,那時7zip出來不久,發現它也有命令行模式,然後試用一下,發現可用性很好,壓縮率、效率也很不錯。當時試用過winrar和rar,效果都不太好

Oracle數據庫運維:要對監聽日誌文件(listener.log)進行定期清理如果不定期清理會遇到下面一些麻煩

tab 額外 機器 寫入 bpa 性能 connect user ini 原文鏈接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?EmPreviewTypeV=2&

日誌定時切割以及定時刪除(2種方法)

安裝 完成 空格 sin tro rotate logrotate 編輯 通過 切割catalian日誌的方式有很多種,比如shell腳本的、cronolog或者通過配置log4j等等這些都可以實現。但今天我要介紹是使用logrotate來按日期生成日誌。 如果catal

log4j不列印sql不輸出日誌檔案到指定目錄

#log4j.rootLogger=CONSOLE,info,error,DEBUG log4j.rootLogger=infoA,errorA,CONSOLE,DEBUGA //注意這裡不要用INFO,DEBUG等 改個名字 log4j.appender.CONSOLE=org.apach

檔案的壓縮日誌管理ip地址設定的三種方法

tar                                  ##歸檔檔案(把多個檔案變成一個檔案)   &

自動建立hibernate。配置檔案對映實體自動生成日誌的配置

            建立db                   空白處ne

Linux系統如何清理last日誌使用fwtmp命令

1 、新建/tmp/last,切換到該目錄 mkdir /tmp/last cd /tmp/last 2.備份wtmp cp /var/adm/wtmpx  ./ 3、首先用fwtmp命令將wtmpx檔案轉化為ASCII格式 /usr/lib/acct/fwtm

延遲任務和定時任務以及臨時檔案清理

1.延遲任務 (1)at命令 at 時間 #設定在該時刻要進行什麼操作 at now+數字min #在幾分鐘後要進行什麼操作 at -l #檢視該操作的編號(只能檢視到最新建立但又未執行的操作) at -

指令碼定期清理zk快照和日誌檔案

正常執行過程中,ZK會不斷地把快照資料和事務日誌輸出到dataDir和dataLogDir這兩個目錄,並且如果沒有人為操作的話,ZK自己是不會清理這些檔案的。 我這裡採用指令碼切割。 #!/bin/bash #清理zookeeper的日誌 保留7天內的 # datadir=/opt/zook