Programlar

# htcacheclean - Disk arabelleğini temizler

`htcacheclean`, mod_cache_disk deposunun boyutlarını belli sınırlar içinde veya kullanımdaki dosya düğümlerinin sınırları içinde tutmak için kullanılır. Bu araç ya elle ya da bir artalan süreci olarak çalıştırılır. Artalan süreci olarak çalıştırıldığında, silinecek arabellek içeriğini tespit etmek için arabellek dizinlerine belli aralıklarla bakmak dışında uykuda olur. Artalan sürecini temiz olarak durdurmak için TERM veya INT sinyali göndermeniz yeterlidir. Elle çalıştırıldığında, silinecek arabellek içeriğini tespit etmek için arabellek dizinlerine bir kereliğine bakar. Bir veya daha fazla URL belirtilmesi durumunda arabellekte olanlar arabellekten silinir.

mod_cache_disk

# Kullanım

`htcacheclean [ -D ] [ -v ] [ -t ] [ -r ] [ -n ] [ -Rboyut ] -pyol [ -lsınır | -Llimit ]`

`htcacheclean [ -n ] [ -t ] [ -i ] [ -Ppiddosyası ] [ -Rboyut ] -dsüre -pyol [ -lsınır | -Llimit ]`

`htcacheclean [ -v ] [ -Rboyut ] -pyol [ -a ] [ -A ]`

`htcacheclean [ -D ] [ -v ] [ -t ] [ -Rboyut ] -pyol url`

# Seçenekler

`-d süre`
  Artalanda çalışarak `süre` dakikada bir arabelleği temizler. Bu seçenek `-D`, `-v` ve `-r` seçenekleri ile birlikte kullanılamaz. Artalan sürecini temiz olarak sonlandırmak için `SIGTERM` veya `SIGINT` göndermek yeterlidir.
`-D`
  Kuru kuruya çalışıp, hiçbir şeyi silmez. `-d` seçeneği ile birlikte kullanılamaz. Kuru çalıştırma sırasında `-t` seçeneği ile dizinler silinmek istenirse, statlarda silinmiş görünen dosya düğümleri silinmiş dizinler olarak hesaba katılmaz ve tahmini olarak imlenir.
`-v`
  Çıktı daha ayrıntılı olur. `-d` seçeneği ile birlikte kullanılamaz.
`-r`
  İyice temizlik yapılır. Bunun için Apache HTTP sunucusunun çalışmadığı varsayılır (aksi takdirde arabellek içeriği bozulabilir). `-t` seçeneğinin de uygulanmasını sağlar. `-d` seçeneği ile birlikte kullanılamaz.
`-n`
  Nazik olur. Diğer süreçlerin yararına daha yavaş çalışır. (a) disk G/Ç işlemlerinde gecikmeler olursa ve (b) çekirdek bu arada başka bir süreci öne çekmişse `htcacheclean` uyumayı tercih edecektir.
`-t`
  Tüm boş dizinleri siler. Öntanımlı olarak, sadece arabellek dosyaları silinirse de bazı yapılandırmalarda büyük miktarda dizin oluşturulması bu seçeneğin kullanılmasını gerektirebilir. Yapılandırmanız çok sayıda dizin gerektiriyorsa ve dosya düğümlerinin veya dosya ayırma tablolarının tükenmesi sözkonusu ise bu seçeneğin kullanılması önerilir.
`-p yol`
  `yol`, disk arabelleğinin kök dizini olarak belirtilir. CacheRoot yönergesinde belirtilen dizin olmalıdır.
`-Ppiddosyası`
  Artalan süreci olarak çalışmada süreç kimliğinin yazılacağı dosyanın adını belirtmek için kullanılır.
`-Rboyut`
  Disk bloklarının boyunu denkleştirmek için yuvarlanacak üst boyutu belirtmekte kullanılır. Arabellek bölümünün blok boyutunu belirler.
`-l sınır`
  `sınır`, disk arabelleğinin toplam boyutu olarak belirtilir. Değerin öntanımlı olarak bayt cinsinden belirtileceği varsayılır. Değerin sonuna kilobayt için `K`, megabayt `M`, bayt için `B` harfi konulabilir.
`-Llimit`
  Disk arabellek dosyası düğümü toplamının sınırını belirlemekte kullanılır.
`-i`
  Akıllı olup sadece disk arabelleği değiştiği zaman çalışır. Bu seçenek `-d` seçeneği ile birlikte belirtilmek zorundadır.
`-a`
  O an arabellekte saklanmakta olan URL'leri listeler. Birden fazla aynı URL varsa yalnız biri listelenir.
`-A`
  O an arabellekte saklanmakta olan URL'leri öznitelikleri ile listeler. Öznitelikler şu sırayla verilir: url, header size, body size, status, entity version, date, expiry, request time, response time, body present, head request

# Belli bir URL'nin silinmesi

`htcacheclean` tarafından aktarılan URL'ler arabellekten silinir. Bir URL birden fazla mevcutsa hepsi silinir.

Ters vekilli bir URL silinmişse, etkin URL Host başlığı port, yol ve sorgu ile oluşturulur. Bir sorgu dizgesi olsun olmasın, URL içinde '?' daima açıkça belirtilmelidir. Örneğin, localhost sunucusundaki / yolu silinmek istenirse silinecek URL http://localhost:80/? olurdu.

# Arabellekteki URL'lerin listelenmesi

`htcacheclean`'e `-a` veya `-A` seçeneğinin aktarılmasıyla, arabellekteki URL'ler bulundukça her satıra bir URL gelecek biçemde listelenir. `-A` seçeneği URL'nin ardından arabellek içeriğini tamamını şu sırayla dökümler:

url
  Öğenin URL'si.
header size
  Bayt cinsinden başlık uzunluğu.
body size
  Bayt cinsinden gövde uzunluğu.
status
  Arabellekteki yanıtın durumu.
entity version
  Öğenin silinmeksizin kaç kere doğrulandığı.
date
  Yanıt tarihi.
expiry
  Yanıtın zaman aşımı tarihi.
request time
  İsteğin başlama zamanı.
response time
  İsteğin bitiş zamanı.
body present
  0 ise istekle birlikte gövde saklanmaz, 1 ise saklanır.
head request
  1 ise, öğe, gövde olmaksızın arabellekli bir HEAD isteği içerir, 0 ise içermez.

# Çıkış Durumu

`htcacheclean`, tüm işlemler başarıyla yerine getirildiğinde `0`, aksi takdirde `1` döndürür. Bir URL belirtildiğinde, bu URL arablleklenmi ve silinmişse `0`, aksi takdirde `2` döndürür. URL'nin silinmesi sırasında bir hata oluşursa `1` döndürür.