在應用服務器上,咱們經常須要定時清理文件,尤爲是日誌,這時候就須要用到Linux自帶的用於例行性工做調度的at和crontab兩個命令了。其中at是僅執行一次的命令,此次先不談,而crontab是循環執行的,符合定時清理文件的需求。
cron這個系統服務是默認啓動的,當用戶用crontab這個命令新建工做調度後,該項工做就會被記錄到/var/spool/cron/裏面去了,並且是以帳號做爲判別,好比kindy使用crontab後,他的工做被記錄到/var/spool/cron/kindy裏面去。這個文件不能直接用vi編輯,而須要藉助命令crontab.服務器
crontab [-u username] [-l|-e|-r]
若是要定時清除的日誌是已知的固定路徑下的文件,好比/*/logs,咱們規定天天23:59定時去清除最後修改時間在7天之前的文件,那麼首先編輯任務:日誌
crontab -e
進入後會看到每項工做的格式是怎麼定義的,而後按需求直接寫任務:code
23 59 * * * root find /*/logs -name 'catalina.out*.log' -and -mtime +7 -type f |xargs rm
再退出,之後就會定時執行啦~crontab