Kemana perginya pekerjaan `at` dan` cron`?

9

Di mana output standar dari atdan crontugas pergi, mengingat tidak ada layar untuk ditampilkan?

Itu tidak muncul di direktori tempat pekerjaan dimulai, atau di direktori home saya.

Bagaimana saya bisa mengetahui hal ini mengingat saya tidak tahu cara men-debug atau melacak pekerjaan latar belakang?

Michael Durrant
sumber
Output biasanya dikirim melalui email.
Donasi berhasil
Saya sarankan menggunakan mutt, "klien surat berbasis teks kecil tapi sangat kuat", untuk membaca hasilnya. Itu telah ada di repositori untuk setiap distro yang saya gunakan.
kwarrick

Jawaban:

10

Dari halaman manual cron:

Saat menjalankan perintah, output apa pun dikirimkan ke pemilik crontab (atau kepada pengguna yang disebutkan dalam variabel lingkungan MAILTO di crontab, jika ada). Anak-anak salinan cron menjalankan proses ini memiliki nama mereka dipaksakan menjadi huruf besar, seperti yang akan dilihat dalam output syslog dan ps.

Jadi, Anda harus memeriksa mail / root Anda, atau syslog (mis. / Var / log / syslog).

Jari Laamanen
sumber
Di mac saya, setelah hanya memanggil "cron" itu ditampilkan path ke "email". Dalam kasus saya, itu adalah / var / mail / <username>.
Cédric Guillemette
4

Untuk proses yang berjalan lama, terkadang berguna untuk mengetahui apa outputnya sebelum Anda mendapatkan email, saya menggunakan ini sebagai gantinya:

  1. Gunakan psuntuk menemukan ID proses dari program Anda yang sedang berjalan (di PID bawah);
  2. gunakan lsofuntuk menemukan file hasil dari penulisan:

    lsof -p PID
    

Dalam output, cari 1udan 2ugaris di bawah FDtajuk kolom.

Baris-baris ini akan memberi tahu Anda file temporer apa yang dihasilkan oleh proses sebelum dikirim melalui surat. Biasanya, untuk at, file tersebut berada di bawah /var/spool/cron/atjobs/. Akhirnya, tampilkan file itu dan Anda akan menemukan output proses Anda (saat ini).

Gabriel G
sumber
file di bawah 1udan 2ubertipe UNIX. Saya menduga ini adalah soket UNIX. Bagaimana cara melihat file sekarang?
kapad