ROTATELOGS(8)

İSİM
rotatelogs - Apache günlüklerini döndürmek için borulu günlük kayıt programı

KULLANIM

rotatelogs [ -l ] [ -L isim ] [ -p program ] [ -f ] [ -v ] [ -e ] [ -c ] dosyaismi süre|boyut(B|K|M|G) [ saat_farkı ]

ÖZET

rotatelogs, Apache'nin borulu günlük dosyaları özelliği ile birlikte kullanmak için tasarlanmış basit bir programdır. Günlük dosyasının azami boyutuna göre veya belli aralıklarla günlük dosyalarını döndürür.

SEÇENEKLER

-l  GMT yerine yerel zamanın kullanılmasını sağlar.

-L bagismi
    Belirtilen bağ dosyası ismine geçerli günlük dosyasından kalıcı bir bağ oluşturulur. tail -F bagismi gibi bir komut kullanılarak günlüğün sürekli izlenmesi için kullanılabilir.

-p program
    Belirtildiği takdirde, rotatelogs yeni bir günlük dosyasının her açılışında belirtilen programı çalıştırır. Yeni açılan dosyanın ismi programa ilk argüman olarak aktarılır. Bu işlem bir döndürme sonrası yapılırsa eski günlük dosyası ikinci argüman olarak aktarılır. rotatelogs işlemini sürdürmek için belirtilen programın sonlanmasını beklemez, dolayısıyla sonlanma soucunda döndürülen hata kodunu günlüğe kaydetmez. Çalıştırılan program rotatelogs ile aynı stdin, stdout ve stderr'i kullanır ve ortamı da miras alır.

-f  İlk günlük giridisinin okunmasını beklemeden rotatelogs başlar başlamaz günlük dosyasının açılmasını sağlar. Çok meşgul sitelerde, sunucu başlatılıp ilk istek sunuluncaya kadar geçen zamanda günlük dosyasının yokluğu özdevinimli işlemler yapan bazı günlükleme araçlarında sorunlara yol açabilir. Bu seçenek bu gibi durumlarda yararlıdır.

-t  Günlük dosyasının döndürülmek yerine tepeden kırpılmasına sebep olur. Günlüğün tail gibi bir araç tarafından gerçek zamanda işlendiği ve veriyi saklamanın gerekmediği durumda kullanışlıdır. Dosya ismine bir sonek eklenmez, ancak biçem dizgesi '%' karakteri içeriyorsa buna uyulur.

-v  Standart hataya verilen çıktı daha ayrıntılı olur. Çıktı, yapılandırma çözümlemesinin sonuçlarını ve tüm dosya açma/kapama işlemlerini içerir.

-e  Günlüğü standart çıktıya basar. Günlüğün zincirdeki ilgili araç tarafından gerçek zamanda işlenmesi gerektiğinde kullanışlıdır.

-c  Create log file for each interval, even if empty.

dosyaismi

süre
    Günlük dosyasının yenisinin kaç saniyede bir açılacağı belirtilir. Örneğin, bu süre 3600 saniye ise günlük dosyası her saat başında yenilenir; 86400 saniye ise her geceyarısı yenilenir. (Bu süre zarfında günlüğe kaydedilecek bir olay gerçekleşmemişse dosya oluşturulmaz.)

boyut(B|K|M|G)
    Boyuta göre döndürme için azami dosya boyutu. Belirtilenin bir süre değil de bir boyut değeri olarak ele alınması için değerin sonuna şu karakterlerden biri eklenmelidir: B (Bayt), K (kilobayt), M (megabayt), G (gigabayt). .PP Süre ve boyut birlikte belirtilmişse boyut süreden sonra belirtilmelidir. Dosya yenilemesi, bunlardan hangisi daha önce aşılırsa o zaman gerçekleşir.

saat_farkı
    Koordinatlı evrensel zamana göre "dakika" farkı. Belirtilmezse, sıfır öntanımlıdır. Örneğin, -5 saatlik bir zaman diliminde bulunuyorsanız bu değer -300 olmalıdır. Çoğu durumda, bunun yerine -l seçeneğini kullanmak gerekir.

ÖRNEKLER

     CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common

nnnn, günlük kaydının başladığı sistem zamanı olmak üzere /var/logs/logfile.nnnn dosyası oluşturulur. Bu zaman, daima döngü süresinin katları olacağından bunu cron betiklerinizi eşzamanlamakta kullanabilirsiniz. Her döngü süresinin sonunda (burada 24 saat sonra) yeni bir günlük dosyası açılır.

     CustomLog "|bin/rotatelogs -l /var/logs/logfile.%Y.%m.%d 86400" common

yyyy, yıl; mm, ay; dd, ayın gününü belirtmek üzere /var/logs/logfile.yyyy.mm.dd dosyası oluşturulur. Her gün yerel zamanla geceyarısı yeni bir günlük dosyasına geçilecektir.

     CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common

Günlük dosyası 5 megabaytlık olunca yenisinin oluşturulmasını sağlar.

     ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"

Hata günlüğünün 5 megabaytta bir errorlog.YYYY-mm-dd-HH_MM_SS biçemli bir isimle oluşturulmasını sağlar.

     CustomLog "|bin/rotatelogs -t /var/logs/logfile 86400" common

/var/logs/logfile dosyasını oluşturur, sunucu başlatılırken ve günde bir kere dosyanın tepesi kırpılır. Bu senaryoda ayrı bir sürecin (tail gibi) dosyayı gerçek zamanlı işleyeceği umulur.

TAŞINABİLİRLİK

Aşağıdaki günlük dosyası biçem belirteçlerinin tüm strftime(3) gerçeklenimlerince desteklenmesi gerekir. Kullandığınız kütüphaneye özgü belirteçler için sisteminizdeki strftime(3) kılavuz sayfasına bakınız.

• %A - tam gün ismi (yerelleştirilmiş)

• %a - 3 harflik gün ismi (yerelleştirilmiş)

• %B - tam ay ismi (yerelleştirilmiş)

• %b - 3 harflik ay ismi (yerelleştirilmiş)

• %c - tarih ve saat (yerelleştirilmiş)

• %d - 2 haneli ay günü numarası

• %H - 2 haneli saat (24 saatlik)

• %I - 2 haneli saat (12 saatlik)

• %j - 3 hanelik yıl günü numarası

• %M - 2 haneli dakika

• %m - 2 haneli ay

• %p - 12 saatlik kip için öö/ös (yerelleştirilmiş)

• %S - 2 haneli saniye

• %U - 2 haneli yılın hafta numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla)

• %W - 2 haneli yılın hafta numarası (Haftanın ilk gününün Pazartesi olduğu varsayımıyla)

• %w - 1 hanelik haftanın gün numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla)

• %X - saat (yerelleştirilmiş)

• %x - tarih (yerelleştirilmiş)

• %Y - 4 hanelik yıl

• %y - 2 hanelik yıl

• %Z - zaman dilimi ismi

• %% - `%' iminin kendisi