Cron
使用操作系统 cron 功能是执行 常规任务。此方法允许在没有 Web 服务器可能具有的固有限制。
在 *nix 系统上每 5 分钟在默认 Web 下运行 cron 作业 服务器用户(通常是 或 ),您必须设置以下内容 cron 作业调用 cron.php 脚本:www-data
wwwrun
# crontab -u www-data -e
*/5 * * * * php -f /var/www/nextcloud/cron.php
您可以通过执行以下命令来验证是否已添加和调度 cron 作业:
# crontab -u www-data -l
*/5 * * * * php -f /var/www/nextcloud/cron.php
注意
您必须将路径替换为 路径添加到您当前的 Nextcloud 安装中。/var/www/nextcloud/cron.php
注意
在某些系统上,可能需要调用 php-cli 而不是 php。
注意
请参阅 crontab 手册页了解确切的命令语法。
systemd 系统
如果系统上安装了 systemd,则 systemd 计时器可以是 cronjob 的替代方案。
此方法需要两个文件:nextcloudcron.service 和 nextcloudcron.timer。在 中创建这两个文件。/etc/systemd/system/
nextcloudcron.service 应如下所示:
[Unit]
Description=Nextcloud cron.php job
[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
将 user 替换为 http 服务器的用户以及 nextcloud 目录中的 cron.php 的位置。www-data
/var/www/nextcloud/cron.php
请注意,.service unit 文件不需要节。请检查您的设置,因为我们在本管理员手册的早期版本中推荐了它。[Install]
nextcloudcron.timer 应如下所示:
[Unit]
Description=Run Nextcloud cron.php every 5 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloudcron.service
[Install]
WantedBy=timers.target
定时器单元中的重要部分是 和 。 将在启动后 5 分钟启动计时器,否则您必须在每次启动后手动启动它。 将在上次激活服务单元后设置 5 分钟计时器。OnBootSec
OnUnitActiveSec
OnBootSec
OnUnitActiveSec
现在剩下的就是通过运行以下命令来启动并启用计时器:
systemctl enable --now nextcloudcron.timer
当此选项与 一起使用时,相应的单元也将启动。--now
enable
注意
在后台作业的管理菜单中选择该选项不是必需的,因为一旦从命令行或 cron 服务执行cron.php,它就会自动将其设置为 。Cron
Cron