版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/tomnic_ylwang/article/details/47315899
預設情況下cron是沒有專門存放日志的檔案的,執行日志是放在 /var/log/syslog中
若需要将日志檔案放到單獨的檔案中,則修改rsyslog檔案,
将/etc/rsyslog.d/50-default.conf 檔案中的#cron.*前的#删掉,預設路徑為/var/log/cron.log
重新開機rsyslog服務service rsyslog restart;
重新開機cron服務service cron restart;
一、将腳本寫入檔案,如api_remove.logs.sh
#me +3 -delete:!/bin/bash # Author: wjxie # Created at: 2014-12-19 # Feature: remove logs before n days LOG_DIR_TOMCAT="/root/workspaces/apache-tomcat-7.0.62/logs/" LOG_DIR_API="/root/workspaces/logs/ad-api/" LOG_FILE_TOMCAT="localhost_access_log" LOG_FILE_API="ad-api.log" find $LOG_DIR_TOMCAT -name "$LOG_FILE_TOMCAT*" -mtime +3 -delete echo "remove tomcat logs ok!!" find $LOG_DIR_API -name "$LOG_FILE_API*" -mtime +7 -delete echo "remove api logs ok!!" |
二、使用指令crontab -e
輸入指令
34 13 * * * /opt/api_remove.logs.sh >/root/workspaces/logs/cron.log 2>&1 |
>/root/workspaces/logs/cron.log 是指日志輸出檔案
2>&1 是指将标準輸出轉換到檔案流
三、重新開機cron
service cron
restart
在root使用者權限下crontab
-e,“34 13 * * * root /opt/api_remove.logs.sh >/root/workspaces/logs/cron.log 2>&1”
報錯,“crontab
不執行,報錯 /bin/sh: root: command not found”
修改為“34 13 * * * /opt/api_remove.logs.sh >/root/workspaces/logs/cron.log 2>&1”即可;
注:root使用者權限下修改/etc/crontab 檔案也可以做定時任務
http://blog.csdn.net/default7/article/details/40214305