Nextcloudのcronジョブをsystemd-timerに移行する

Linux

Nextcloudのバックグランドジョブをcronからsystemd-timerに移行した時の手順です.

詳細手順は,Nextcloud本家のこのページを参照してください.

serviceファイルの作成

/etc/systemd/system/nextcloudcron.serviceを以下の内容で作成します.
※cron.phpのパスは実際の環境に合わせてください.

[Unit]
Description=Nextcloud cron.php job
[Service]
User=apache
#ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
ExecStart=/usr/bin/php -f /var/www/vhost/docs.yo7612.com/nextcloud/cron.php
KillMode=process

timerファイルの作成

/etc/systemd/system/nextcloudcron.timerを以下の内容で作成します.

[Unit]
Description=Run Nextcloud cron.php every 5 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloudcron.service
[Install]
WantedBy=timers.target

SELinux設定およびtimerの有効化・起動

続いて以下のコマンドを実行します.

restorecon -Rv /etc/systemd/system
systemctl daemon-reload
systemctl enable nextcloudcron.timer
systemctl start nextcloudcron.timer

確認

確認は以下のコマンドを実行します.

systemctl list-timers

cronの停止

最後に,sudo -u apache crontab -eコマンドを実行して,cronジョブを停止します.

コメント

タイトルとURLをコピーしました