場景是這樣的,在服務里利用sprint boot
的@Scheduled(cron = "${xx.run.schedule}")
定義了一個定時服務,xx.run.schedule
變量在一個配置文件中, 服務正在運行中,現在臨時想停用幾天,想到的方案是修改一下變量,讓他暫時不會運行,當然可以設置成幾個月后執行,然后過幾天再改回來,但是突然冒出一個想法,有沒有永遠不會執行的cron表達式,一搜索,還真有。
利用2月沒有31號這一個漏洞,將執行時間設置在2月31號,則這個定時任務永遠不會執行。0 0 5 31 2 ?
利用同樣的原理可以找出非常多的日期,讓定時任務不能執行。