file (log) που να διατηρεί το μέγεθος του
Giorgos Keramidas
keramida at ceid.upatras.gr
Fri Nov 28 21:21:57 EET 2008
On Fri, 28 Nov 2008 17:03:36 +0200, Thanasis <thanasis at asyr.hopto.org> wrote:
>on 11/28/2008 04:02 PM Giorgos Keramidas wrote the following:
>>On Fri, 28 Nov 2008 15:43:56 +0200, Thanasis <thanasis at asyr.hopto.org> wrote:
>>> Θέλω να δημιουργήσω το εξής:
>>>
>>> Σε ένα screen session, να τρέχω ένα ping το οποίο να γράφει το
>>> output σε ένα αρχείο, και καθώς γράφει, όταν το αρχείο φτάσει σε
>>> μέγεθος άς πούμε 3ΜΒ, να αδειάζει τις παλαιότερες εγγραφές για να
>>> γράφει τις νέες. Πώς μπορώ να το κάνω;
>>
>> Χρησιμοποίησε ένα circular record-based buffer, π.χ.:
>>
>> http://svn.freebsd.org/base/head/usr.sbin/fifolog/
>
> Χμμμ...σε linux κάτι;
Το κοίταξες καθόλου ή απλά είδες το domain name και είπες «α freebsd
λέει εδώ, δε μας κάνει»;
Το source είναι σε C και είναι αρκετά portable ώστε να κάνει compile σε
Linux με ελάχιστες αλλαγές. Επίσης έχει έτοιμα και ενημερωμένα manpages,
και είναι δοκιμασμένο ως logger facility σε διάφορα embedded devices που
είναι περιορισμένος ο χώρος και δε θέλεις συνήθως να γράφουν logfiles με
unlimited μέγεθος.
Π.χ. μπορείς να φτιάξεις ένα fifolog file με:
fifolog_create -r 10m /tmp/logfile
Ύστερα αντί να γράφεις εσύ με το χέρι στο `/tmp/logfile' χρησιμοποιείς το
fifolog_writer utility:
echo "My log line" | fifolog_writer /tmp/logfile
Για να δεις τι έχει το `logfile' ύστερα χρησιμοποιείς το fifolog_reader:
fifolog_reader
Πρόσεξε ότι το μέγεθος του `logfile' δεν αλλάζει στο παρακάτω:
$ fifolog_create -r 10m /tmp/logfile
$ ls -l /tmp/logfile
-rw-r--r-- 1 keramida wheel - 5368709120 Nov 28 21:17 /tmp/logfile
$ echo "My log line" | fifolog_writer /tmp/logfile
$ ls -l /tmp/logfile
-rw-r--r-- 1 keramida wheel - 5368709120 Nov 28 21:17 /tmp/logfile
$ fifolog_reader /tmp/logfile
From 0 Thu Jan 1 02:00:00 1970
To 1227899855 Fri Nov 28 21:17:35 2008
Read from 0
1227899845 My log line
$
More information about the Linux-greek-users
mailing list