Apache HTTP Sunucusu Sürüm 2.2

Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.2 > Programlar

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

Mevcut Diller: en | 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.

## Kullanım

`rotatelogs [ -l ] [ -f ] dosyaismi süre|boyutM [ saat_farkı ]`

## Seçenekler

`-l`
  GMT yerine yerel zamanın kullanılmasını sağlar. Zaman dilimi değişik olan ortamlarda (BST, DST gibi) bu seçeneğin kullanımı beklenmedik sonuçlar verebilir!
`-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. 2.2.9 ve sonrası için geçerlidir.
`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. 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)` dosya ismi biçimlemesini kullanırken, günlük dosyası biçiminin günlüğün her döndürülüşünde farklı bir dosya ismi üretecek ayrıntılara sahip olmasın sağlamalısınız. Aksi takdirde, döndürme işlemi sonucunda günlük yeni bir dosya yerine aynı dosyanın üzerine yazılacaktır. Örneğin, `dosyaismi` olarak `/var/logs/errorlog.%Y-%m-%d` belirtilmişse, günlük dosyası da 5 megabayta ulaşıyorsa, günlük döndürme ile aynı dosya ismi üretilir ve günlük aynı dosyaya yazılmaya devam ederek bu boyut ikiye katlanı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.)
`boyutM`
  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 `M` (megabayt) harfi konmalıdır.

  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.

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

`%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

Mevcut Diller: en | ko | tr