<-
Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Programlar

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

Mevcut Diller:  en  |  fr  |  ko  |  tr 

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.

top

Kullanım

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

top

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.
-n dosya_sayısı
Zaman damgalarına bakılmaksızın bir dosya serisi açılır. Örneğin -n3 belirtilirse "logfile", "logfile.1", "logfile.2" serisi açılır ve "logfile" üzerine yazılır. 2.4.5 ve sonraki sürümler içindir.
dosyaismi

Günlük dosyasının ismi yoluyla birlikte belirtilir. dosyaismi '%' karakterleri içeriyorsa bunlar strftime(3) biçem belirteçleri olarak ele alınır. Aksi takdirde, özdevinimli olarak .nnnnnnnnnn uzantısı üretilir. (-t seçeneği kullanılmadıkça) Uzantı saniye cinsindendir ve her iki durumda da bu değer, mevcut döngü diliminin başlangıcına göre hesaplanır. Örneğin, döndürmenin 86400 saniyede bir yapılacağı belirtilmişse, strftime(3) biçeminde oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur.

strftime(3) dosyaismi biçemlemesi kullanılırken, günlük dosyası biçeminin günlük dosyası döndürülürken her zaman farklı bir dosya ismi üretecek yeterlilikte parçacıklı yapıya sahip olduğundan emin olmalısınız. Aks takdirde döndürme işlemi yeni bir dosya başlatmak yerine hep aynı dosyanın üzerine yazar. Örneğin, logfile için /var/logs/errorlog.%Y-%m-%d belirtilmişse 5 mega baytta bir yeni bir günlük dosyasına başlanacaktır. Fakat 5 megabayta gün içinde iki kez ulaşılırsa aynı günlük dosyası üretilir ve günlük hep aynı dosyanın üzerine yazılır.

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).

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.
top

Ö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.

top

Taşınabilirlik

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.

%Atam gün ismi (yerelleştirilmiş)
%a3 harflik gün ismi (yerelleştirilmiş)
%Btam ay ismi (yerelleştirilmiş)
%b3 harflik ay ismi (yerelleştirilmiş)
%ctarih ve saat (yerelleştirilmiş)
%d2 haneli ay günü numarası
%H2 haneli saat (24 saatlik)
%I2 haneli saat (12 saatlik)
%j3 hanelik yıl günü numarası
%M2 haneli dakika
%m2 haneli ay
%p12 saatlik kip için öö/ös (yerelleştirilmiş)
%S2 haneli saniye
%U2 haneli yılın hafta numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla)
%W2 haneli yılın hafta numarası (Haftanın ilk gününün Pazartesi olduğu varsayımıyla)
%w1 hanelik haftanın gün numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla)
%Xsaat (yerelleştirilmiş)
%xtarih (yerelleştirilmiş)
%Y4 hanelik yıl
%y2 hanelik yıl
%Zzaman dilimi ismi
%%`%' iminin kendisi

Mevcut Diller:  en  |  fr  |  ko  |  tr 

top

Yorum

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.