← Back to team overview

sslug-teknik team mailing list archive

Re: Tjek om en fil er åben

 

Robert Larsen <robert@xxxxxxxxxxxxxxxxx> writes:

> Jeg har en server process, som skriver en masse log filer. Når log
> filerne når op på 10MB bliver de lukket og en ny påbegyndt.
> Det kører fint.

Har du andre ting der piller i det katalog? Ellers ville det måske
være en mulighed at se på inotify og så pakke filerne lige så snart at
serveren lukker dem.

Det kunne være noget der bruger inotify-tolls ala:

#!/bin/sh

LOG_PATH=/data/ChatServer/XML_logs

inotifywait -e close_write --format %f $LOG_PATH | while read file ; do
    case $file in
        *.xml ) gzip $LOG_PATH/$file ;;
    esac 
done


> Men lsof er meget er meget lang tid om at gøre sig færdig:
> [root@xbox scripts]# time lsof
> /data/ChatServer/XML_logs/Chat_DK_1_ChatLog_2006-11-28_23\:05\:55.xml
>
> real    0m16.482s
> user    0m0.388s
> sys     0m16.533s
> [root@xbox scripts]#

Hvor mange filer har du liggende i det katalog og hvilket filsystem
bruger du? Tager det ikke cirka lige så lang tid bare at køre en 'ls'
på samme fil?


Follow ups

References