タイトル: Systemd と Crontab を使用して Linux システムでスクリプトを定期的に実行する
本文:
Linux システムでは、多くの場合、いくつかのスクリプト タスクを定期的に実行する必要があります。データのバックアップ、ログのクリーニングなど。この記事では、Systemd と Crontab を使用してスクリプトを定期的に実行する機能を実装する方法と、具体的なコード例を紹介します。
1. Systemd を使用してスクリプトを定期的に実行する
Systemd は、Linux システムの初期化システムおよびサービス マネージャーであり、Systemd スケジュールされたタスクを作成することで、スクリプトを定期的に簡単に実行できます。
cleanuplog.service
という名前のファイルを作成できます。 [Unit] Description=Cleanup Log Service [Service] Type=simple ExecStart=/path/to/cleanuplog.sh [Install] WantedBy=default.target
このうち、ExecStart
は実行するスクリプトのパスを指定するもので、実際の状況に応じて変更する必要があります。ファイルを保存して閉じます。
cleanuplog.timer
という名前のファイルを作成します。 [Unit] Description=Cleanup Log Timer [Timer] OnCalendar=*-*-* 01:00:00 [Install] WantedBy=timers.target
このうち、OnCalendar
は、スケジュールされたタスクのトリガー時刻 (毎日午前 1 時) を指定します。ファイルを保存して閉じます。
/etc/systemd/system
ディレクトリに移動します。 $ sudo mv cleanuplog.service /etc/systemd/system $ sudo mv cleanuplog.timer /etc/systemd/system
$ sudo systemctl daemon-reload $ sudo systemctl enable cleanuplog.timer $ sudo systemctl start cleanuplog.timer
これで、スクリプトを定期的に実行するタスクが作成され、正常に開始されました。
2. Crontab を使用してスクリプトを定期的に実行する
Crontab は、コマンドまたはスクリプトを定期的に実行するためのツールです。Crontab ファイルを編集することで、スケジュールされたスクリプトの実行のニーズを簡単にカスタマイズできます。
$ crontab -e
0 2 * * * /path/to/cleanuplog.sh
このうち、0 2 * * *
は毎日午前 2 時を表し、/path/to/cleanuplog.sh
はスクリプトのパスを表します。実際の状況に応じて変更する必要があります。
これで、スクリプトを定期的に実行するタスクが正常に追加されました。
概要:
この記事では、Systemd と Crontab を使用して Linux システムでスクリプトを定期的に実行する方法を紹介し、具体的なコード例を示します。実際のニーズに応じて、スケジュールされたタスクを実装するための適切な方法を選択することで、作業効率と自動管理機能を向上させることができます。この記事が、読者がスクリプト実行のタイミングを計る方法を学び、応用するのに役立つことを願っています。
以上がSystemd と Crontab を使用して Linux システムでスクリプトを定期的に実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。