Ekspresi Cron: perbedaan antara 0/1, 1/1 dan *

15

Dalam ekspresi cron, apa perbedaan antara 0/1, 1/1dan *?

sdabet
sumber
The /melangkah, menjelaskan benar-benar baik di sini: publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/...
NickW
1
Mengapa memilih bawah, tolong? Adakah informasi yang hilang? Apakah pertanyaan itu milik situs stackexchange lain?
sdabet
Arahkan mouse ke panah bawah; popup mengatakan " Pertanyaan ini tidak menunjukkan upaya penelitian apa pun; tidak jelas atau tidak berguna ". Downvotes tanpa komentar mungkin dianggap paling tidak karena salah satu alasan itu - meskipun saya perhatikan downvoter telah ditarik kembali.
MadHatter
Terima kasih @MadHatter, saya hanya belum memiliki reputasi yang cukup untuk melihat detail suara
sdabet

Jawaban:

20

Itu tergantung di mana istilah itu berada

  • 0/1 berarti mulai dari 0 setiap 1.
  • 1/1 berarti mulai dari 1 setiap 1.
  • * berarti semua nilai yang mungkin.

begitu

  • Untuk kolom menit, jam, dan hari dalam seminggu, 0/1dan *setara dengan ini adalah 0.

  • Untuk kolom Hari Bulan dan Bulan 1/1dan *setara dengan ini berdasarkan 1.

user9517
sumber
Apakah masuk akal untuk digunakan 0/1selama berbulan-bulan? Apa yang akan terjadi?
sdabet
4

Dalam definisi crontab, arti dari lima bidang tanggal / waktu adalah:

  1. Di mana menit dalam satu jam (jadi dari 0 hingga 59)
  2. Pada jam berapa hari itu (jadi dari 0 hingga 23)
  3. Pada hari apa di bulan itu (jadi dari 1 hingga 31)
  4. Di mana bulan dalam setahun (jadi dari 1 hingga 12 atau nama - Jan, Feb, ...)
  5. Di hari apa dalam seminggu (jadi dari 0 hingga 6 atau nama - Sun, Sen, ...)

A * berarti dari elemen pertama hingga elemen terakhir dari rentang. A n / x berarti mulai dari n, di setiap nilai x.

Dalam kasus Anda, ini dapat diterjemahkan oleh:

  1. Pada menit 0
  2. Mulai tengah malam, setiap jam (yang mirip dengan *)
  3. Setiap hari dalam sebulan
  4. Mulai bulan pertama (Januari), setiap bulan (yang mirip dengan *)
  5. Setiap hari dalam seminggu (untuk * pertama)

Akhir terlihat salah (? *) Karena berada di tempat perintah. Atau di tempat nama pengguna & perintah jika diambil dari file di bawah /etc/cron.d/dan bukan dari crontab pengguna tertentu.

Benoit
sumber
0

Angka 0/1 berarti setiap 1 menit atau setiap mintue dan 1/1 berarti setiap bulan saya pikir, tetapi saya tidak yakin itu akan bekerja seperti itu selama sebulan.

vic
sumber
Lalu apa perbedaan antara 0/1, 1/1dan *?
sdabet
Angka 0/1 ada di posisi jam.
user9517
yang itu untuk jam
vic
Tentu, tetapi bisakah saya mengganti part jam 0/1dengan 1/1misalnya? Apakah akan sama artinya?
sdabet
Tidak sama dengan menempatkan 0atau 1kemudian?
sdabet