だから私は非常に具体的な方法で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