清除n天以前的日志文件以及mysql-bin文件 |
發(fā)布時間: 2012/7/23 19:14:24 |
前些日子,系統(tǒng)上線了,發(fā)現(xiàn)tomcat 下的日志增長得挺快的,寫了個腳本清除n天以前的日志
web_def_tomcat_log_path=/Application/tomcat/log $web_def_tomcat_log_expire_days=7 if [ "$web_def_tomcat_log_expire_days" -gt 0 ] then echo "find $web_def_tomcat_log_path -follow -mtime +$web_def_tomcat_log_expire_days -name '*.log' -exec rm -f {} \;" find $web_def_tomcat_log_path -follow -mtime +$web_def_tomcat_log_expire_days -name '*.log' -exec rm -f {} \; fi 由于web的mysql下面掛的同步太多了,每天產(chǎn)生1-2G的mysql-bin文件,因此也寫了個清除mysql-bin的文件,這個文件會至少保留最新的一個mysql-bin.0*文件
web_def_host="1.2.3.4" #mysql的ip web_def_port=3306 #mysql的端口 web_def_username="tester" #mysql的用戶 web_def_password="123" #mysql的密碼 web_def_mysql_expire_logs_days=7 #刪除7天以前的mysql-bin,但是最后至少保留一個文件 mysql_exe="mysql -h $web_def_host -P $web_def_port -u $web_def_username --password=$web_def_password -e " if [ "$web_def_mysql_expire_logs_days" -gt 0 ] then #獲取n天以前被修改的mysql-bin文件, logFileName=`find $web_def_mysql_data_path -follow -atime -$web_def_mysql_expire_logs_days -name 'mysql-bin.0*' |sort|head -1` if [ "$logFileName" != "" ] then logFileName=`basename $logFileName` echo $mysql_exe "\"PURGE MASTER LOGS TO '$logFileName'\"" $mysql_exe "PURGE MASTER LOGS TO '$logFileName'"; fi fi 上面這兩個腳本,需要在crontab 里每天執(zhí)行一次,定時刪除n天以前的日志文件
本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |