Очень много зависит от конкретной загрузки приложения, которую Вы используете. Некоторые серверы приложений (SunONE, старый материал netscape) пишут несколько сотен в несколько тысяч файлов к/tmp - в той ситуации, Вы действительно не хотите, чтобы это было смонтированным электронным диском, и нет никакой причины сохранить его между перезагрузками.
Серверы становятся менее общим и более особым назначением - этот тип вопроса (и подобное, "как я делю свою систему" вопрос), действительно зависит от Вашего loadout.
У меня действительно недавно был один сервер, который был перезагружен впервые приблизительно после 4 лет - он застрял на полпути посредством начальной загрузки, удалив все файлы в/tmp - было так много хлама там, что потребовался хороший час для чистки его. Определенно хорошая идея периодически чистить его, если Ваше поле не перезагружает очень часто.
В /etc/logrotate.conf
или /etc/logrotate.d/lighttpd
, или надлежащий файл если вообще где-нибудь еще, добавляют dateext
к строке файла конфигурации Вы хотите применить суффиксы даты.
Больше информации из logrotate страницы справочника:
dateext
Заархивируйте старые версии файлов журнала, добавляющих ежедневное расширение как YYYYMMDD вместо того, чтобы просто добавить число.
Используйте cronolog - он запишет файлы журнала с корректными именами файлов во-первых (например, у Меня обычно есть свои веб-серверы, пишут файлы журнала как YYYY/MM/DD/access, или YYYY/MM/DD/error, и т.д). Больше деталей о конфигурировании cronolog с lighttpd здесь: http://redmine.lighttpd.net/projects/1/wiki/MigratingFromApache
(в то время как та страница упоминает, что server.errorlog не может пробежаться cronolog, кажется, существует отчет об ошибках для этого, которое было отмечено, как "зафиксировано" - к сожалению, я не могу отправить больше чем один URL за один раз, так как я - "новый" пользователь на serverfault...),
Я не думаю, что lighttpd или logrotate могут сделать это собой. Я вижу две опции достигнуть этого:
Сделайте свои собственные сценарии непосредственно после logrotate, как в конце он - cronjob. Что-то как:
if [ -f /var/log/lighttpd/access.log.1.gz ]; then`
mv /var/log/lighttpd/access.log.1.gz /var/log/lighttpd/access.log.$date.gz
fi
Или, системный-журнал-ng может создать файлы журнала по дате, и lighttpd может отправить журналы в системный журнал вместо того, чтобы писать им сам.
# syslog-ng.conf
destination df_lighttpd { file("/var/log/lighttpd/$YEAR$MONTH$DAY.log"); };
filter f_lighttpd { program("lighttpd"); };
log { source(s_all); filter(f_lighttpd); destination(df_lighttpd); };
и набор accesslog.use-syslog
& server.errorlog-use-syslog
на lighttpd конференции
Править: Cronolog более прост и/или, чем любое из моих предложений, я пошел бы с этим, если он работает на Вас.