Web-Server
輪換 tux Web 伺服器日誌文件的推薦方式
我正在考慮將 Tux 作為我正在建構的新 CPAN 鏡像的 Web 伺服器。我已經讓它執行起來了,而且速度非常快,但有一個很大的問題:我應該如何輪換日誌文件?
日誌文件是可配置的,我使用的是 /var/log/tux 的預設值。
一種選擇是複制和截斷;例如:
cp /var/log/tux /var/log/tux.1 cat /dev/null > /var/log/tux
logrotate 應用程序可以為我做到這一點,但由於日誌文件是二進製文件,我擔心這可能會在某些時候導致損壞。
如果它只損壞一個條目,我可以忍受它——我擔心整個日誌文件可能會失去。
有經驗的大神可以給點建議嗎?
謝謝
你可以嘗試這樣的事情,我寫它來滾動我的 nginx 日誌。我查找了有關
tux
使用者空間程序的一些詳細資訊,但找不到任何方法讓它重新打開它的日誌,因此您可能不得不求助於停止和啟動該程序。#!/bin/bash YEAR=`date "+%Y"` MONTH=`date "+%m"` DAY=`date "+%d"` HOSTNAME=`hostname -s` LOG_FILES="access.log error.log images.log redirect.log ssl.log click.log uploads.log urchin.log user_sites.log" DATE=$YEAR/$MONTH/$DAY LOG_ROOT=/var/log/ NGINX_LOG_ROOT=$NGINX_LOG_ROOT/nginx # make path mkdir -p $NGINX_LOG_ROOT/$DATE # touch and symlink in new log files for FILE in $LOG_FILES; do LOG_FILE=$NGINX_LOG_ROOT/$DATE/$HOSTNAME.$FILE touch $LOG_FILE ln -fs $LOG_FILE $NGINX_LOG_ROOT/$FILE done # tell nginx to re-open its log files kill -USR1 `cat /var/run/nginx.pid`