GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengatur cron untuk menjalankan file hanya sekali pada waktu tertentu?

Anda benar-benar ingin menggunakan at . Itu dibuat persis untuk tujuan ini.

echo /usr/bin/the_command options | at now + 1 day

Namun jika Anda tidak memiliki at , atau perusahaan hosting Anda tidak menyediakan akses ke sana, Anda dapat membuat entri cron yang menghapus sendiri.

Sayangnya, ini akan menghapus semua entri cron Anda. Namun, jika Anda hanya memiliki satu, tidak apa-apa.

0 0 2 12 * crontab -r ; /home/adm/bin/the_command options

Perintah crontab -r menghapus entri crontab Anda. Untungnya baris perintah lainnya masih akan dijalankan.

PERINGATAN:Ini berbahaya! Ini menghapus SEMUA entri cron. Jika Anda memiliki banyak, ini akan menghapus semuanya, bukan hanya yang memiliki baris "crontab -r"!


Anda benar-benar ingin menggunakan at . Itu dibuat persis untuk tujuan ini.

echo /usr/bin/the_command options | at now + 1 day

Namun jika Anda tidak memiliki at , atau perusahaan hosting Anda tidak menyediakan akses ke sana, Anda dapat memiliki tugas cron yang menyertakan kode yang memastikannya hanya berjalan sekali.

Siapkan entri cron dengan waktu yang sangat spesifik:

0 0 2 12 * /home/adm/bin/the_command options

Berikutnya /home/adm/bin/the_command perlu memastikan bahwa itu hanya berjalan sekali.

#! /bin/bash

COMMAND=/home/adm/bin/the_command
DONEYET="${COMMAND}.alreadyrun"

export PATH=/usr/bin:$PATH

if [[ -f $DONEYET ]]; then
  exit 1
fi
touch "$DONEYET"

# Put the command you want to run exactly once here:
echo 'You will only get this once!' | mail -s 'Greetings!' [email protected]

Coba ini untuk menjalankan perintah pada 30 Maret 2011 tengah malam:

0 0 30 3 ? 2011  /command

PERINGATAN :Seperti disebutkan dalam komentar, tahun kolom tidak didukung dalam implementasi standar/default cron. Silakan merujuk ke jawaban TomOnTime di bawah ini, untuk cara yang tepat menjalankan skrip pada waktu tertentu di masa mendatang dalam implementasi standar cron.


Linux
  1. Bagaimana Cara Mengingat Opsi Perintah??

  2. Bagaimana Cara Menggunakan Jenis File Di Vim?

  3. Bagaimana cara mengatur Tugas Otomatis pada VPS Linux Menggunakan Cron?

  1. Bagaimana Cara Menjalankan Aplikasi Untuk Waktu yang Ditetapkan Di Shell?

  2. Cara Mengatur atau Mengubah Zona Waktu di Debain 11

  3. Bagaimana cara mengatur file sebagai TIDAK dapat dieksekusi?

  1. Cara menjalankan pekerjaan cron pada hari-hari tertentu dalam seminggu

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

  3. Cara menjalankan skrip shell saat startup