"At" ve "cron" işlerinin çıktıları nereye gidiyor?


9

Görüntülenecek ekran olmadığından standart çıktı atve crongörevler nereye gidiyor?

İşlerin başlatıldığı dizinde veya ana dizinde görünmüyor.

Bir arka plan işinde hata ayıklamayı veya izlemeyi bilmediğim göz önüne alındığında bunu nasıl anlayabilirim?


Çıktı genellikle e-posta yoluyla gönderilir.
donothingsuccessfully

Çıktıyı okumak için mutt, "küçük ama çok güçlü bir metin tabanlı posta istemcisi" kullanmanızı öneririm. Kullandığım her dağıtım için depolarda bulunuyor.
kwarrick

Yanıtlar:


10

Cron man sayfasından:

Komutları yürütürken, çıktılar crontab sahibine (veya varsa crontab'daki MAILTO ortam değişkeninde adlandırılan kullanıcıya) gönderilir. Bu süreçleri çalıştıran cron çocuk kopyaları, syslog ve ps çıktılarında görüldüğü gibi adlarını büyük harfe zorladı.

Bu nedenle / root'unuzun postasını veya sistem günlüğünü (örn. / Var / log / syslog) kontrol etmelisiniz.


Mac bilgisayarımda, sadece "cron" dedikten sonra "e-posta" yolunu görüntüledi. Benim durumumda, / var / mail / <kullanıcıadı> idi.
Cédric Guillemette

4

Uzun süren işlemler için, e-postayı almadan önce çıktının ne olduğunu bilmek bazen yararlıdır, bunun yerine bunu kullanıyorum:

  1. psÇalışan programınızın işlem kimliğini bulmak için kullanın ( PID aşağıda);
  2. kullanmak lsofçıktı yazıldığı dosyayı bulmak için:

    lsof -p PID
    

Çıktıda, sütun başlığının altındaki 1uve 2usatırlarını arayın FD.

Bu satırlar, işlem çıktısının posta yoluyla gönderilmeden önce hangi geçici dosyalara gireceğini bildirir. Genellikle, atdosya altında bulunur /var/spool/cron/atjobs/. Son olarak, bu dosyayı görüntüleyin ve işleminizin (geçerli) çıktısını bulacaksınız.


altındaki 1uve 2utüründeki dosyalar UNIX. Bunların UNIX yuvaları olduğunu tahmin ediyorum. Şimdi dosyalara nasıl bakarım?
kapad
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.