linux系統下用crontab定時清除日誌文件

在應用服務器上,咱們經常須要定時清理文件,尤爲是日誌,這時候就須要用到Linux自帶的用於例行性工做調度的at和crontab兩個命令了。其中at是僅執行一次的命令,此次先不談,而crontab是循環執行的,符合定時清理文件的需求。
cron這個系統服務是默認啓動的,當用戶用crontab這個命令新建工做調度後,該項工做就會被記錄到/var/spool/cron/裏面去了,並且是以帳號做爲判別,好比kindy使用crontab後,他的工做被記錄到/var/spool/cron/kindy裏面去。這個文件不能直接用vi編輯,而須要藉助命令crontab.服務器

crontab [-u username] [-l|-e|-r]
  • -u 只有root能夠執行這個任務,不經常使用
  • -e 編輯crontab工做內容,經常使用!
  • -l 查閱crontab工做內容,經常使用!
  • 默認狀況下,任何用戶只要不被列入/etc/cron.deny中,那麼他就能夠執行crontab -e去編輯本身的定時任務了

若是要定時清除的日誌是已知的固定路徑下的文件,好比/*/logs,咱們規定天天23:59定時去清除最後修改時間在7天之前的文件,那麼首先編輯任務:日誌

crontab -e

進入後會看到每項工做的格式是怎麼定義的,而後按需求直接寫任務:code

23 59 * * * root  find /*/logs -name 'catalina.out*.log' -and  -mtime +7 -type f |xargs rm

再退出,之後就會定時執行啦~crontab

相關文章
相關標籤/搜索