Diğer pazar günleri cron'u her Pazar günü nasıl çalıştırabilirim?


10

0 0 * * 0/2 - yani her Pazar günü çalışan bir cron işim var. Mesela şimdi koştu. Ancak, diğer Pazar günleri - önümüzdeki Pazar, bunun yerine çalıştırmak istiyorum . Başka bir deyişle: Yılın çift sayılı Pazarları üzerinde çalıştığını düşünüyorum, ama tek sayılı Pazar günleri çalışmasını istiyorum.

Ben "adam 5 crontab" bu konuda bana yardımcı olacak bir şey görmüyorum, bu yüzden 0 0 * * 0 cronjob çalıştırmak için geri düşmek ve sonra hangi Pazar günü kontrol etmek için koşmak çalıştırmak için bir şey yapmak varsayalım dır-dir. Herkes bana bunun için uygun bir komut satırı hile yardımcı olabilir?

ETA: 0 / 2'imin aslında düşündüğüm şeyi (her iki Pazar günü) yapmadığını fark ettim. Haftanın o günü ikiye bölünebilir olduğu sürece her Pazar çalışır, tabii ki öyle. D'oh. Her neyse, temel gereksinim var: tek numaralı pazar günleri bir komut çalıştırın.


"Birinci, Üçüncü ve Beşinci Pazar" da olduğu gibi "tek sayılı" mı?
— voretaq7

1
Hayır, yılın 1., 3., 5., 7., ... 49., 51. haftasında olduğu gibi. Diğer bir deyişle, iki haftada bir, yılın tek sayılı haftalarında düşen Pazar günleri.
— Skud

Üzgünüm - cron bunu senin için yapmayacak. Senaryonuzun sizin için doğru hafta olup olmadığını kontrol etmesini sağlamanız gerekir. (Ayrıca, beni belirli bir yerden hatırlarsanız - HI !!! dalgalar )
— Jenny D

Yanıtlar:


3

Bu özel görevi kendim denemiş gibi davranmayacağım, ancak bu Yığın Taşması sorusunun potansiyel komut satırı hile gösteren bazı cevapları var: /programming/350047/how-to-instruct-cron-to- yürütmek-a-iş-her-saniye haftalık


Bunların hiçbiri tek sayılı haftalarda cron çalıştırmaz. Hepsi sadece birbirlerini yaparlar. Bazıları da son derece egzotik ve "yaratıcı" ya da ben tavsiye etmem.
— Chris S

En çok oy alan cevap her hafta çalışıyor ve uygun hafta olup olmadığını belirlemek için komut satırı hilesine güveniyor.
— nmjk

1
Evet, ama modulo 2, yani çift sayılı haftalarda çalışacak. Bir evaltane eklemek için birden fazla blok yığınlamak ve sonra modulo 2 yapmak mümkün olabilir . Bu en çirkin, ama sanırım işe yarayabilir.
— Chris S

1
Bağlantılı cevaptan, bu potansiyele sahip gibi görünüyor: date +\%W\% 2> / dev / null || her neyse ... Ancak, tek numaralı haftaları almak için , yerine "&& neyse" yapmak istiyorum ||
— Skud

1
Yani, açıklama istiyoruz. "Her tek hafta" yı yıl haftasına göre mi yoksa ay haftasına göre mi saymak istiyorsunuz? Eminim ki ikincisi mümkün ama geçmişte kullandığım bazı eski parçacıkları bulmak zorundayım.
— nmjk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.