Belirli birimlerin günlük çıktılarını belirli bir dosyaya nasıl yönlendirebilirim?


12

Arch Linux'ta günlüğe günlük bilgileri veren birkaç sistem (sistemd birimi olarak) çalışan bir sistemim var. Bu birim dosyalarının bazılarının günlük çıktılarını, konumlarını belirlediğim ayrı bir metin dosyasına yönlendirmek, temelde birimler alt kümesi için bir günlük dosyası oluşturmak istiyorum. Bunu nasıl yapabilirim?


Yanıtlar:


10

Görünüşe Bu mümkün ve memba tarafından istenmeyen değil (yönlendirme stdout / stderr bireysel dosyalara) bakınız örneğin http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - daha fazlası için tüm iplik okumak bunun nasıl çalışacağına dair bağlam bilgisi.

Yapabileceğiniz şey, syslog günlüğüne giriş yapmak ve bu şekilde tek tek dosyalara yazmaktır. Ya da başka bir yolla, birim bir günlük yazabilecek bir program çağırırsa, bunu bir dosyaya günlüğe kaydetmek için kullanın.

View stdout / stderr'ı systemd hizmetine de bakmak isteyebilirsiniz.

Mevcut kurulumunuzla yapabileceğiniz şey
journalctl -u yourunitname > yourlogfile_for_yourunitname
, ünitenizin "ünite adınız" için dergi çıktısının tamamını bir dosyaya yönlendirmektir.

İkinci bölümde, yukarıda belirtilen posta listesi iş parçacığından Lennart'ın ipuçlarına da göz atmalısınız:

Son sistemd sürümlerinde systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.service, sadece gerçek mesajları içeren ve başka bir şey olmayan çok basit bir çıktı oluşturmalıdır. Hatta "-f" yi geçip bunu canlı yapabilirsiniz.

DÜZENLEME: Aslında, daha yeni systemd sürümleri için komut sadece journalctl ve ne söyleyebilirim, yukarıda belirtilen uzun komut ile aynıdır journalctl -u yourunitnameve -forada da çıktıyı takip etmek için (tailf veya tail -f gibi).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.