cron選択肢としてのシステムタイマー
今日はSystemMDタイマーについて書きたいと思いました.最近はスケッチを変えなければなりませんでした
はい、私はそれを得る人々のシステムsystemd、それは完璧ではないかもしれないが、それは間違いなく、この特定のユースケースのために動作します.しかしながら、非常に多くのオプションがあるので、最初は非常に威圧的です、そして、あなたは使用ケースに2つのファイルを作成する必要もあります.
それで、私はそれを壊します、あなたはサービス・ファイルとタイマー・ファイルを作成する必要があります、しかし、それがこの記事の範囲からであるテンプレートファイルを使うこともできます.
それで始めましょう.
まず、端末またはテキストエディタとペーストを開きます.
これは一般的な情報を含んでいます
基本的にサービスを開始する場合 我々がこれを終えると、現在、タイマーサービスを作成する時間.このファイルを保存する
DayofWeek 1月1日時間:分:Dayofweekが省略されることができる第2、これは毎分(cronのような)のために12秒で走らせます、しかし、devのものはここで12秒ごとに実行するためにそれを必要としました. システムタイマーの詳細な説明がありますhere
そして今
それは、人々、私はかなりのシステムで行うことができます多くのことがあると確信していますが、私はまだ学んでいます.ので、この投稿についてのコメントを削除する自由を感じる.
While True
システムタイマーのスクリプト、パフォーマンスの向上は、巨大なプラスポイントだった.はい、私はそれを得る人々のシステムsystemd、それは完璧ではないかもしれないが、それは間違いなく、この特定のユースケースのために動作します.しかしながら、非常に多くのオプションがあるので、最初は非常に威圧的です、そして、あなたは使用ケースに2つのファイルを作成する必要もあります.
それで、私はそれを壊します、あなたはサービス・ファイルとタイマー・ファイルを作成する必要があります、しかし、それがこの記事の範囲からであるテンプレートファイルを使うこともできます.
それで始めましょう.
まず、端末またはテキストエディタとペーストを開きます.
[Unit]
Description=Runs a command and logs to journalctl
Wants=randomprogram.timer
[Service]
Type=oneshot
ExecStart=python -c 'print("Hello world")'
[Install]
WantedBy=multi-user.target
このファイルを保存する/etc/systemd/system/randomprogram.service
レット・ダウンWants=randomprogram.timer
- システムマニュアルに従って、設定単位が基本的にサービスを開始する場合
systemctl start randomprogram.service
タイマーも開始されます.Type=oneshot
- ここで指定できるさまざまなタイプがたくさんあります(単純な、exec , forking , onehot , dbus , notify or idle ).読書man systemd.service
ここでははるかに良いでしょう.WantedBy=multi-user.target
- これはsysvinitでランレベル2と同じです./etc/systemd/system/randomprogram.timer
[Unit]
Description=Runs timer program systemd journal
After=httpd.service
Requires=randomprogram.service
[Timer]
Unit=randomprogram.service
#OnCalendar=*-*-* *:*:12
OnUnitActiveSec=12s
AccuracySec=1us
[Install]
WantedBy=timers.target
もう一度これを壊してください.新しいオプションを取ります.After=httpd.service
- httpd後にタイマーを起動します.これは私のユースケースですRequires=randomprogram.service
- このユニットが活性化されると、リストされたユニットも同様に起動されます.OnCalendar=*-*-* *:*:12
- このフォーマットはDayofWeek 1月1日時間:分:Dayofweekが省略されることができる第2、これは毎分(cronのような)のために12秒で走らせます、しかし、devのものはここで12秒ごとに実行するためにそれを必要としました.
OnUnitActiveSec=12s
- タイマーユニットが起動している単位が最後に起動されたときに相対的なタイマーを定義します.AccuracySec=1us
- タイマーの精度を指定します.デフォルトは1分(高精度も必要)そして今
systemctl start randomprogram.timer
それは、人々、私はかなりのシステムで行うことができます多くのことがあると確信していますが、私はまだ学んでいます.ので、この投稿についてのコメントを削除する自由を感じる.
Reference
この問題について(cron選択肢としてのシステムタイマー), 我々は、より多くの情報をここで見つけました https://dev.to/mediocredevops/systemd-timers-as-a-cron-alternative-15i4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol