GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menjalankan `date` Di Dalam Pekerjaan Tab Cron?

Saya ingin membuat file log untuk skrip cron yang memiliki jam saat ini dalam nama file log. Ini adalah perintah yang saya coba gunakan:

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log

Sayangnya saya mendapatkan pesan ini saat dijalankan:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file

Saya telah mencoba keluar dari date bagian dalam berbagai cara, tapi tanpa banyak keberuntungan. Apakah mungkin untuk mewujudkannya secara in-line dalam file crontab atau apakah saya perlu membuat skrip shell untuk melakukan ini?

Jawaban yang Diterima:

Jawaban singkat:

Keluar dari % sebagai % :

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log

Jawaban panjang:

Pesan kesalahan menunjukkan bahwa shell yang menjalankan perintah Anda tidak melihat karakter centang kembali kedua:

/bin/sh: -c: line 0: unexpected EOF while looking for matching '`'

Ini juga dikonfirmasi oleh pesan kesalahan kedua yang Anda terima ketika Anda mencoba salah satu jawaban lain:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ')'

Halaman manual crontab mengonfirmasi bahwa perintah hanya dapat dibaca hingga % pertama yang tidak di-escape tanda:

Bidang "keenam" (sisa baris) menentukan perintah untuk
dijalankan. Seluruh bagian perintah dari baris, hingga baris baru atau % karakter, akan dieksekusi oleh /bin/sh atau dengan shell yang ditentukan dalam
SHELL variabel dari file cron. Persen-tanda (% ) di perintah, kecuali diloloskan dengan garis miring terbalik ( ), akan diubah menjadi karakter baris baru , dan semua data setelah % first pertama akan dikirim ke
perintah sebagai input standar.


Linux
  1. Cara Mengatur Pekerjaan Cron Di TrueNAS

  2. Bagaimana Cara Menjalankan Perintah Di Dalam Wadah Systemd yang Berjalan?

  3. Cara Menyiapkan Pekerjaan Cron

  1. Bagaimana cara menginstruksikan cron untuk menjalankan pekerjaan setiap minggu kedua?

  2. Bagaimana saya bisa membuat tugas cron baru secara terprogram?

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

  1. Bagaimana cron menjadwalkan pekerjaan secara internal?

  2. Meneruskan parameter $_GET ke tugas cron

  3. Cara menjalankan tugas cron di dalam wadah buruh pelabuhan