だから私はこの奇妙なものを見ました(または経験がほとんどないので、少なくとも私には奇妙でした)。
cronnext
nextstring
毎分cronjobが何であるかを教えてください。スタート~の現在の分、
つまり、過去。
たとえば、cronnext
で実行すると、次のように表示されます。 ((無邪気に予想したように)代わりに:)02:11:27
nextstring: Tue Jul 25 02:11:00 2023
nextstring: Tue Jul 25 02:12:00 2023
これは正常ですか、それとも…?
どのマニュアルページでもこれについての内容が見つからず、
私が考えることができる用語では何も検索できないからです。
私もanacron
タグを追加しました
。するインストールしましたが、
自分で使ったことがないので
関連性があるかどうかはわかりません。
(
$ sudo cronnext -c
#=>
- user: "username"
crontab: /var/spool/cron/tabs/username
system: 0
entries:
- user: username
cmd: "/home/username/my_script.sh"
flags: 0x0F
flagnames: MIN_STAR|HR_STAR|DOM_STAR|DOW_STAR
delay: 0
next: 1690276260
nextstring: Tue Jul 25 02:11:00 2023
next: 1690276260
)
(
この問題が発生したときにもともと修正しようとしたバグをすでに見つけて修正していた
ので、結局この特定の問題に対する疑問に過ぎなかったが、
それでも問題だと思うので聞いてみたかった。奇妙な大きな本。
)
答え1
Debianには対応するツールがなく、最新バージョンをダウンロードしましたが、クロニー-1.6.1Githubのソースリポジトリから。
マンページは言う説明する、
cron
次のタスクをいつ実行するかを決定します。引数なしですべてのクローンタブを考慮した時間をエポックから秒単位で印刷します。分単位で四捨五入。
(強調表示されます。)コードは常に丸められているように見えます。これにより、見つかったものなどの誤った答えが生成されます。
これが私が作った方法です。
./configure --prefix=
make
そして実行してください:
src/cronnext
src/cronnext.c
解決策は、呼び出しの250行目でループ開始条件を代わりにnextmatch()
使用するように変更するようです。しかし、パッチを送信するのに十分な確信がないので、それを使用するのではなく、344行で定義されている場所に60(秒)を追加して修正する方が良いと思います。start+60
start
start
このプログラムを使用しているので、これに関するバグレポートを送信することをお勧めします。問題トラッカー。