nextcloud设置cron后台任务

后台任务

以下是nextcloud官方对于后台任务的解释:

诸如Nextcloud之类的系统有时需要定期执行任务,而无需用户交互或妨碍Nextcloud性能。为此,作为系统管理员,您可以定义无需用户交互就可以执行的后台作业(例如,数据库清理)。

这些作业通常称为cron作业。Cron作业是命令或基于Shell的脚本,它们计划在固定的时间,日期或间隔定期运行。 cron.php是Nextcloud内部流程,可按需运行此类后台作业。

Nextcloud应用程序会cron.php自动注册操作,以执行典型的内部管理操作,例如临时文件的垃圾收集或使用filescan()外部安装的文件系统检查新近更新的文件。

打开nextcloud后面的设置–基本设置大致可分为三种后台任务:

  • Ajax
  • Webcron
  • Cron

这三种模式,默认采用的是Ajax,但是对于较大的实例,就需要使用Cron这种模式了。

配置方法

可以看到要求是:使用系统定时任务服务每5分钟执行一次cron.php文件。 cron.php 需要被系统用户 “www” 执行。

yvEY.png

可以看到官方要求是两点,一个要5分钟执行一次文件,还有要被www执行

如果你和我一样是nginx,那么只需要在nextcloud的安装根目录下给www权限即可,Apache的话可能是www-data

chown  www:www cron.php	

这样就给权限了,然后来编辑一个定时脚本:

/etc/systemd/system目录新建 nextcloudcron.service 和 nextcloudcron.timer 两个文件:

nextcloudcron.service文件内容(修改cron.php文件路径):

[Unit]
Description=Nextcloud cron.php job
 
[Service]
User=www
ExecStart=/usr/bin/php -f /www/wwwroot/test.wxlcloud.com/nextcloud/cron.php
 
[Install]
WantedBy=basic.target

注意这里ExecStart后面的php是你安装的php路径,如果你用的宝塔安装一般是在*/www/server/php/php版本/bin/php*,一般就在这个地方,后面的cron.php,就写你根目录下的那个地址,注意要写绝对路径

nextcloudcron.timer文件内容:

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

这里没什么修改的,就是个定时

最后 系统中执行下面的命令就可以了:

systemctl enable --now nextcloudcron.timer	

检查结果

最后点到基本设置里,选择cron的方式,等5分钟看看情况:

yWHM.png

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值