手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 systemd timer を使用した定期実行

CentOS 8 で systemd timer を使い、定期実行を行う手順です。cron の代わりに systemd の service / timer unit で管理します。

コマンドはコピペしやすい形を優先しています。既存設定を変更する場合は、バックアップを取ってから適用します。

この手順は CentOS 8 設定マニュアル の一部として整理しています。

参考書籍
参考書籍

ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

テストスクリプト

cat <<'EOF' > /usr/local/bin/systemdtest
#!/bin/bash
echo systemdtest
EOF
chmod 700 /usr/local/bin/systemdtest

service unit

cat <<'EOF' > /etc/systemd/system/systemdtest.service
[Unit]
Description=systemd test service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/systemdtest
EOF

timer unit

cat <<'EOF' > /etc/systemd/system/systemdtest.timer
[Unit]
Description=systemd test timer

[Timer]
OnCalendar=*-*-* 04:00:00
Persistent=true

[Install]
WantedBy=timers.target
EOF

起動と確認

systemctl daemon-reload
systemctl enable --now systemdtest.timer
systemctl list-timers systemdtest.timer
systemctl start systemdtest.service
journalctl -u systemdtest.service --no-pager

短周期の例

cat <<'EOF'
[Timer]
AccuracySec=1
OnUnitActiveSec=60
EOF

この手順は CentOS 8 設定マニュアル の一部として整理しています。

CentOS 8 systemd timer を使用した定期実行

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る