GNU/Linux >> Belajar Linux >  >> Linux

Mengapa pekerjaan cron.d per menit saya tidak berjalan?

Saat menambahkan konfigurasi cron di /etc/cron.d/ atau di /etc/crontab Anda harus menambahkan nama pengguna dalam konteks mana perintah harus dijalankan, dalam contoh Anda

* * * * * root /bin/touch /home/me/ding_dong

Dan hanya sebuah petunjuk dari saya:Anda tidak harus mulai menjalankan ls -ltr lagi dan lagi, gunakan saja watch -n 5 "ls -ltr" dan itu akan menjalankan perintah setiap 5 detik (atau nilai lainnya dengan mengganti 5 dengan yang Anda inginkan).


Untuk membuat cron baru pekerjaan, Anda harus menjalankan crontab -e sebagai pengguna yang Anda inginkan menjalankan pekerjaan. Kemudian tambahkan baris yang relevan di jendela editor yang muncul:

* * * * * /bin/touch /home/me/ding_dong

Cara Anda melakukannya memerlukan format yang berbeda dan sebenarnya bukan ide yang bagus. Crontab di /etc/cron.d memiliki format yang sedikit berbeda, mereka membutuhkan nama pengguna untuk dijalankan. Misalnya:

* * * * * USERNAME /bin/touch /home/me/ding_dong

Trik yang bagus (seperti yang disarankan oleh @VogonPoetLaureate) adalah menangkap kesalahan standar pekerjaan cron Anda yang dapat membantu men-debugnya. Misalnya:

* * * * * /bin/touch /home/me/ding_dong 2>/tmp/error

Kemungkinan kesalahan di sini adalah bagaimana file satu baris dibuat. Dari Dokumentasi Ubuntu:

...baris memiliki lima bidang waktu dan tanggal, diikuti dengan perintah, diikuti dengan karakter baris baru .

Misalnya, cara pembuatan ini tidak berfungsi:

printf "* * * * * /bin/touch /home/me/ding_dong" > /etc/cron.d/ding_dong

Linux
  1. /usr/bin Vs /usr/local/bin Di Linux?

  2. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?

  3. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  1. Bagaimana cara mengatur tugas cron untuk menjalankan yang dapat dieksekusi setiap jam?

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Linux:Jalankan tugas cron di latar depan

  1. unix:///var/run/supervisor.sock tidak ada file seperti itu

  2. Kapan saya harus menggunakan #!/bin/bash dan kapan #!/bin/sh?

  3. Mengapa < atau > diperlukan untuk menggunakan /dev/tcp