背景: 專案server在後端持續執行,日誌檔案不斷變大,需及時進行清空。
解決方案:編輯sh指令碼,指定時間間隔輪詢;將超出限制的日誌檔案,先備份,再清空原日誌檔案內容。
清空日誌檔案內容的方法有:
1. echo "" > test.log
2. cat /dev/null > test.log
3. cp /dev/null test.log
4. > test.log
5. truncate -s 0 test.log
1.限制指定日誌檔案大小(1024*10位元組)
#!/bin/sh
function limit_size_log()'`
if [ $filesize -gt $maxsize ]
then
echo "$filesize > $maxsize"
sudo cp $logfile $logfile"`date +%y-%m-%d_%h:%m:%s`".log
sudo cp /dev/null $logfile
else
echo "$filesize < $maxsize"
fi# running
while true
dolimit_size_log /var/log/test.log (1024*10)
sleep 60
done
2. shell 指令碼限制指定日誌檔案行數(10000行)
#!/bin/sh
function limit_count_log()'`;
if [ $ -gt $ ];then
#delcount=`expr $ - $`;
#sudo sed -i "1,$d" $logfile
sudo cp $logfile $logfile"`date +%y-%m-%d_%h:%m:%s`".log
sudo tar -czpvf $logfile"`date +%y-%m-%d_%h:%m:%s`".log.tar.gz $logfile"`date +%y-%m-%d_%h:%m:%s`".log
sudo rm $logfile"`date +%y-%m-%d_%h:%m:%s`".log
sudo cp /dev/null $logfile
else
echo $linecountfi}
指令碼 獲取檔案大小命令 通用shell指令碼
1.通過程序名kill ps ef grep tomcat awk xargs kill 92.通過埠檢視應用程式 例如 查詢6028埠 ps ef grep netstat anpl grep 6028 awk nr 1 grep o 0 9 0 9 3.window強制關閉程序並刪除檔案 tas...
日誌檔案大小限定
include include include include getpid include time.h include stdarg.h include syslog.h define log file name len 64 define log max size 128 define log...
PHP上傳檔案大小限制
歸納了一下上傳檔案大小通常需要設定的地方 1 php.ini配置檔案 設定最大上傳檔案大小 預設為20m php upload max filesize 10m post max size 10m memory limit 20m upload max filesize 10m post max s...