問題:
訪問多, 打印日誌多等等原因, 導致服務器磁盤空間被佔滿, 雖然不會影響整體的使用, 但可能會有部分功能不能正常使用. 此時就需要去清理日誌文件. 來釋放磁盤空間.
解決:
1.可以手動清理日誌文件. ( 壞處: 麻煩, 浪費時間 )
echo ’ ’ > 文件名稱 //寫入空( 也就是清空 )
[root@localhost /]# echo '' > /usr/local/apache-tomcat/logs/catalina.out
2.定時去清理日誌文件. ( 好處: 方便, 無需人爲操作 )
2.1 編寫腳本 並 寫入腳本內容! ( 位置/名稱 隨意 )
[root@localhost cache]# vim cleanCatalina.sh
#清空 tomcat/logs/下的catalina.out
echo '' > /usr/local/apache-tomcat/logs/catalina.out
*擴展: 清理其他日誌文件. ( 30天前的 )
logs_path="/usr/local/apache-tomcat/logs"
find $logs_path -mtime +30 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "manager.*.log" -exec rm -rf {} \;
echo '' > $logs_path/catalina.out
2.2 給該腳本賦權. ( r-4(用戶 - 可讀) , w-2(組 - 可寫) , x-1(其他用戶 - 可執行) )
[root@localhost cache]# chmod 755 cleanCatalina.sh
2.3 編輯定時任務. ( 看自己的需求 )
[root@localhost cache]# crontab -e
#每週六凌晨3點執行此腳本. ( 具體看每天日誌的存儲量. )
0 3 * * 6 /usr/local/cache/cleanCatalina.sh
2.4 重啓定時任務 ( 不重啓不生效. . . ) ★★★謹記★★★
[root@localhost cache]# service crond restart
2.5 查看定時任務
[root@localhost cache]# crontab -l
注: 本文只談crontab的使用, 下文再詳解.