LinuxシステムでSystemdとCrontabを使用してタスクを並列実行する方法
SystemdとCrontabを組み合わせることで、Linuxシステムでタスクを並列に実行できます。以下に、これら2つのツールの使用方法を示します。
- 並行で実行されるタスクスクリプトを作成する:
task1.sh や task2.sh のようなタスクスクリプトを作成します。
- systemdサービスユニットファイルを新規作成:
/etc/systemd/system/ ディレクトリに、parallel-tasks.service など、新しいサービスユニットファイルを作成します。
[Unit]
Description=Parallel Tasks
[Service]
ExecStart=/bin/bash /path/to/task1.sh &
ExecStart=/bin/bash /path/to/task2.sh &
[Install]
WantedBy=multi-user.target
- Systemdサービスの有効化と起動:
Systemdサービスを有効化して起動するには、以下のコマンドを実行してください。
sudo systemctl enable parallel-tasks
sudo systemctl start parallel-tasks
- Crontabタスクを作成する:
Crontab ファイルを編集するには、次のコマンドを実行します。
crontab -e
- Crontab 追加
システムdタスクを1分おきに実行するには、crontabファイルに以下を追加します。
* * * * * /usr/bin/systemctl start parallel-tasks
- Crontab ファイルを保存してエディタから退出する。
CrontabはSystemdのタスクを分単位で実行させ、Systemdは並列実行されたタスクスクリプトを起動します。例にあるファイル名やパスは、実際に使用するファイル名やパスに置き換えてください。