Üzerinde kuyruk kullanabilmek için istiyorum haddeleme günlük dosyaları tam bir dizin var.Atık Rolling Dosyalar
dosyalarında, gibi adlandırılır: Eski bir unix sisteminde
name modified
00A.txt Dec 27 19:00
00B.txt Dec 27 19:01
00C.txt Dec 27 19:02
00D.txt Dec 27 19:03
, ben bir kabuk ile gelip çalışıyorum o kuyruk belirli bir dizin en son değiştirilen dosyayı yapacak, ve eğer Bu dosya idari olarak kapatılır (bir sonraki dosyaya geçer). Programın, yeniden çalıştırılmak üzere kuyruktan çıkmaya gerek kalmadan otomatik olarak yeni dosyayı taramaya başlamasını istiyorum. Yukarıdaki dosya adları verilen
tail -100f `ls -t | head -1`
istenen davranış
, böyle gider:./logtailer.sh
Sonra komut 00D.txt atık başlayacaktı. Kaydedici 00D.txt'ye yazmayı bitirdiğinde ve en yeni günlük dosyası şimdi 00E.txt olarak adlandırıldıysa, program otomatik olarak bu dosyaya başlıyordu.
Bir metin için "Dosya İdari Kapalı" kuyruk çıkışını izliyor ve sonra tekrar aşağıdaki komutu çalıştırmak suretiyle bu senaryo yazmaya başladı.
tail -100f `ls -t | head -1`
Bunu, "dosya yönetimsel olarak kapatılmış" metin izleyerek yapmaktan daha şık bir yolu var mı? Bir kuyruk senaryosunda kuyruk hattının çıktısını nasıl okuyabilirim?
Düzenleme: kuyruk için -F seçeneğinin bu sistemde benim için bir seçenek olmadığını açıklamalıdır. Bu özelliği içermeyen farklı bir kuyruk sürümü kullanır. İşletim sistemi sürümü - Solaris 10
ama benim sürüm kuyruk bu özelliği yok ve bunu yükseltme seçeneği yok. (Hayır yönetici hakları) – user1118047
Eğer 'tail' ve' kutusu (unix/linux) arasında 'versiyonu info' verir misiniz' kullanıyorsunuz? –
SunOS 5.10 Kuyruk versiyonunu nasıl bulacağınızdan emin değilsiniz ... – user1118047