Saya memiliki pekerjaan cron yang berjalan pada 0 0 * * 0/2 - yaitu setiap hari Minggu lainnya. Itu hanya berjalan sekarang, misalnya. Namun, saya ingin menjalankannya pada hari Minggu lainnya - Minggu depan, bukan yang ini. Cara lain untuk menggambarkannya: Saya menganggap itu berjalan pada hari Minggu genap, tetapi saya ingin itu berjalan pada hari Minggu bernomor ganjil.
Saya tidak melihat apa pun di "man 5 crontab" yang akan membantu saya dengan ini, jadi saya kira saya harus kembali menjalankan cronjob di 0 0 * * 0 dan kemudian melakukan sesuatu dalam perintah yang saya jalankan untuk memeriksa hari Minggu yang mana adalah. Adakah yang bisa membantu saya dengan tipuan baris perintah yang cocok untuk ini?
ETA: telah menyadari bahwa 0/2 saya tidak melakukan apa yang awalnya saya pikirkan (setiap minggu kedua) sama sekali. Ini berjalan setiap hari Minggu, selama hari itu dalam seminggu dapat dibagi oleh dua, yang tentu saja itu. Doh. Bagaimanapun, persyaratan mendasar tetap: menjalankan perintah pada hari Minggu bernomor ganjil.
Jawaban:
Saya tidak akan berpura-pura mencoba tugas khusus ini sendiri, tetapi pertanyaan Stack Overflow ini memiliki beberapa jawaban yang menunjukkan potensi tipuan baris perintah: /programming/350047/how-to-instruct-cron-to- melaksanakan-pekerjaan-setiap-minggu kedua
sumber
eval
blok untuk menambahkan satu dan kemudian melakukan modulo 2. Itu yang paling buruk, tapi saya kira itu mungkin berhasil.date +\%W
\% 2> / dev / null || terserah ... Namun, untuk mendapatkan minggu bernomor ganjil , aku ingin melakukan "&& apapun" daripada ||