cronjob:起動/覚醒時にscript_Aを実行してから5分ごとに、その間に4分間script_Bを実行します(したがって、モジュールで5分を*ではない*)。

cronjob:起動/覚醒時にscript_Aを実行してから5分ごとに、その間に4分間script_Bを実行します(したがって、モジュールで5分を*ではない*)。

だから私は非常に具体的な方法でcronjobを設定したいと思います。

  • 起動/覚醒時にscript_Aを実行する

  • その後、起動/覚醒に基づいて5分ごとに(したがっていいえモジュロ5時計分)

  • 4分ごとにscript_Bを実行〜サイ(つまり、script_Aが実行される時間(分)いいえ走る)

まだ経験がないので、何をすべきか
アドバイスを求めますスタートまず、もっと深く掘り下げてみてください。


cronそれ自体(あるいはanacron私が使っている技術?)はやや制限的なようで、
それができる最善は明らかに
*/5 * * * * /home/username/script_A.sh


fcronより強力で柔軟に見え、いくつかの構文が含まれています
@ 5 /home/username/script_A.sh
起動/覚醒、モジュロ時計の分だけでなく" [...たとえstackexchangeがそうではないことを知っていたが、持つ fcronタグが利用可能なので、これはおそらく良い兆候ではないでしょう...]


4分ごとに "script_B"を処理する方法がまだわかりません。〜サイしかし、script_A"。


システムタイマーはどのようなものですか?
から非常に一見すると少し常用句の冗長さのように見えるが…?
しかし、おそらく彼らする私が探している力/柔軟性を持っていますか…?


私が調査しなければならない他のものがありますか?




私はopensuse回転秒を使用しているので
する行きましょうfcron
。一回くらいかかります。小さい私が持っていることを確認しようとしています本物インストール済み適切に
なぜなら手動でしなければならないからです。

つまり、私した私はすでにgithubからインストールしていますが、
実際に取得するには、追跡する必要がある難しい部分が少なくとも1〜2か所あると確信しています。正しく私のシステムに統合されました。
)

私は何ですか?する私のパッケージマネージャストアには次のものがあります。
$ zypper info cron cronie cronie-anacron kcron
#=>

 Loading repository data...  
 Reading installed packages...


 Information for package cron:  
 -----------------------------  
 Repository     : Main Repository (OSS)  
 Name           : cron  
 Version        : 4.2-91.3  
 Arch           : x86_64  
 Vendor         : openSUSE  
 Installed Size : 181 B  
 Installed      : Yes (automatically)  
 Status         : up-to-date  
 Source package : cronie-1.6.1-91.3.src  
 Upstream URL   : https://github.com/cronie-crond/cronie  
 Summary        : Auxiliary package  
 Description    :  
     Auxiliary package, needed for proper update from vixie-cron 4.1 to cronie 1.4.4


 Information for package cronie:  
 -------------------------------  
 Repository     : Main Repository (OSS)  
 Name           : cronie  
 Version        : 1.6.1-91.3  
 Arch           : x86_64  
 Vendor         : openSUSE  
 Installed Size : 310.2 KiB  
 Installed      : Yes (automatically)  
 Status         : up-to-date  
 Source package : cronie-1.6.1-91.3.src  
 Upstream URL   : https://github.com/cronie-crond/cronie  
 Summary        : Cron Daemon  
 Description    :  
     cron automatically starts programs at specific times. Add new entries  
     with "crontab -e". (See "man 5 crontab" and "man 1 crontab" for  
     documentation.)

     Under /etc, find the directories cron.hourly, cron.daily, cron.weekly,  
     and cron.monthly.  Scripts and programs that are located there are  
     started automatically.


 Information for package cronie-anacron:  
 ---------------------------------------  
 Repository     : Main Repository (OSS)  
 Name           : cronie-anacron  
 Version        : 1.6.1-91.3  
 Arch           : x86_64  
 Vendor         : openSUSE  
 Installed Size : 43.6 KiB  
 Installed      : Yes  
 Status         : up-to-date  
 Source package : cronie-1.6.1-91.3.src  
 Upstream URL   : https://github.com/cronie-crond/cronie  
 Summary        : Utility for running regular jobs  
 Description    :  
     Anacron becames part of cronie. Anacron is used only for running regular jobs.  
     The default settings execute regular jobs by anacron, however this could be  
     overloaded in settings.


 Information for package kcron:  
 ------------------------------  
 Repository     : Main Repository (OSS)  
 Name           : kcron  
 Version        : 23.04.3-1.1  
 Arch           : x86_64  
 Vendor         : openSUSE  
 Installed Size : 410.8 KiB  
 Installed      : No  
 Status         : not installed  
 Source package : kcron-23.04.3-1.1.src  
 Upstream URL   : https://www.kde.org  
 Summary        : Cron job configuration tool  
 Description    :  
     KCron allows you to change your cron jobs setup.  

(そして可能なすべてhttps://software.opensuse.org/search?baseproject=ALL&q=cron何を探すべきかわかりません)

答え1

珍しいリクエストです。ただし、「5分ごと」と「1分ごと」という2つのcron式を検索するのではなく、1分ごとにスクリプトを実行するcronエントリを作成すると、そのスクリプトは5分スクリプトの時間か別の時間かを決定します。それは次のとおりです。

* * * * * /home/username/script-manager.sh

#!/usr/bin/env sh
minute=$(date +%M)
if [ 0 = $(( ${minute#0} % 5 )) ]; then
  /home/username/modulo-5 clock-minutes
else
  /home/username/script_B
fi

開始に基づいて5分間隔内にある必要があると主張する場合は、次のようなものを追加できます。

minute=$(date +%M)
echo "$(( ${minute#0} % 5 ))" > /run/boot-5-minute-offset

起動時に実行するスクリプトに適用し、決定スクリプトを調整します。if [ "$(cat /run/boot-5-minute-offset)" = $(( ${minute#0} % 5 )) ]; then

関連情報