提高NextCloud优化性能,使用系统定时任务服务每5分钟执行一次cron.php文件。 cron.php 需要被系统用户 “www” 执行。
先执行命令添加定时任务,如果你的NextCloud是www用户,测试使用www用户进入定时任务编辑,否则使用www-data等之类的。
crontab -u www -e
然后添加定时任务:
*/5 * * * * /usr/local/php/bin/php -f /data/wwwroot/xxx.wzfou.com/cron.php
注意此处指定的PHP路径,因为有的Linux默认的PHP版本可能并不是正在使用的PHP,查看PHP路径如下:
# locate */php /etc/php /etc/alternatives/php /etc/cron.d/php /usr/bin/php /usr/lib/php /usr/local/php /usr/local/php/php /usr/local/php/bin/php /usr/local/php/include/php /usr/local/php/lib/php /usr/local/php/php/php /usr/share/php /var/lib/php /var/lib/dpkg/alternatives/phpq
或者,如果你使用root登录的vps,想在root下运行,需要指定www用户名:
sudo -u www /usr/local/php/bin/php -f /data/wwwroot/xxx.wzfou.com/cron.php
最后,看看定时任务消息,看看有没有成功运行。
Apr 10 11:55:01 localhost CRON[13066]: (www) CMD (/usr/local/php/bin/php -f /data/wwwroot/xxx.wzfou.com/cron.php) Apr 10 12:00:01 localhost CRON[13255]: (www) CMD (/usr/local/php/bin/php -f /data/wwwroot/xxx.wzfou.com/cron.php)
使用以下命令查看你的定时任务:
crontab -u www -l 或者是root crontab -l
官方方法:https://docs.nextcloud.com/server/20/admin_manual/configuration_server/background_jobs_configuration.html
To run a cron job on a *nix system, every 5 minutes, under the default Web server user (often, www-data
or wwwrun
), you must set up the following cron job to call the cron.php script:
# crontab -u www-data -e
And append this line:
*/5 * * * * php -f /var/www/nextcloud/cron.php
You can verify if the cron job has been added and scheduled by executing:
# crontab -u www-data -l
Which returns:
[snip]
*/5 * * * * php -f /var/www/nextcloud/cron.php
Note
You have to replace the path /var/www/nextcloud/cron.php
with the path to your current Nextcloud installation.