アーチで5分ごとにクローンジョブを実行する

アーチで5分ごとにクローンジョブを実行する

いくつかの回答を検索してみましたが、混乱を解消する方法がないようです。

5分ごとに実行したいクローンジョブがあります。

*/5 * * * * cd /mnt/internal-storage/coindata && shell/command coins update

入れてみましょう。/etc/cron.dailyフォルダを作成するか、新規作成/etc/cron.分

また、このフォルダにどのようなファイルを作成しましたか?

答え1

最善の解決策は、おそらくcrontabに1行を追加することです。 crontabファイルにアクセスする方法はcronの実装によって異なるため、公式のArchリポジトリで2つのcronの実装へのコマンドを提供しました。特定のクローンの実装を必要としないソリューションが必要な場合は、次のように書いています。もう一つの答え代わりに systemd/Timers を使用してください。

crontab -eまたは、EDITOR環境変数を使用するバリアント(デフォルトはvi)です。他のエディタを使用するには、次のようにEDITOR変数にエクスポートします。

export EDITOR=vim

ここで、vimは選択したエディタに置き換えられます。


cronie を使用して crontab を編集します。

crontab -e

fcron を使用して crontab を編集します。

fcrontab -e

cronコマンドをファイルに追加して保存します。

*/5 * * * * cd /mnt/internal-storage/coindata && shell/command coins update

このファイルの行形式は次のとおりです。

minute hour day_of_month month day_of_week command

cronが実行されていない場合は、そのデーモンを起動してください。

近い人のために:systemctl start cronie.service

fcronの場合:systemctl start fcron.service

再起動後もcrontabのコマンドを実行し続けるには、cronデーモンが有効になっていることを確認してください。

systemctl enable cronie.serviceまたはsystemctl enable fcron.service

答え2

Arch Linuxに組み込まれたタイミングシステムは次のとおりです。システム/タイマー。 Arch Wikiにはいくつかのリストがあります。cron代替品として使用することの長所と短所。別の利点を追加したいと思います。 cron実装をインストールする必要はありません。

全体として、私は単純化のためにcronjobを使用することをお勧めしますが、これは(理論的には)すべてのArchインストールに関係なく動作するソリューションです。

タイマーの実装(TIMERNAMEをタイマー名に置き換えます):

タイマーファイルの場所:/etc/systemd/system/TIMERNAME.timer


[Unit]
Description=Run TIMERNAME every five minutes

[Timer]
OnCalendar=*:0/15
Persistent=true     

[Install]
WantedBy=timers.target

タイマーサービスファイルの場所:/etc/systemd/system/TIMERNAME.service


[Unit]
Description=Run some commands - for use with TIMERNAME.service

[Service]
ExecStart=cd /mnt/internal-storage/coindata && shell/command coins update
# Alternatively could be used to run a script with the above commands in it.
# If your script is located at /usr/local/bin, change the above command to:
#    ExecStart:/usr/local/bin/SCRIPTNAME

[Install]
WantedBy=multi-user.target

まず、次を実行します。

systemctl start TIMERNAME.timer

有効化(今後の再起動後も機能し続ける):

systemctl enable TIMERNAME.timer

停止と無効は同じ形式に従います。

関連情報