在Linux下配置离线下载,由于aria2进程和php进程权限不一致,导致下载完成后Cloudreve无法移动已下载文件,从而用户文件列表里无法显示已下载文件。 关于此问题,已有两位朋友给出了解决方案: https://forum.cloudreve.org/d/104 https://forum.cloudreve.org/d/87
今天在这里给出官方的解决方案。
在任何一个目录下新建hook.sh:
touch hook.sh
编辑文件,填入一下内容:
#!/bin/sh chmod -R 777 这里填写Cloudreve安装目录下public/downloads目录的绝对路径
赋予文件执行权限:
chmod +x hook.sh
在您的aria2配置文件中添加一项:
on-download-complete=刚刚hook.sh的路径
重启aria2,此后即可正常使用离线下载
发现一个问题离线下载了个5G的高清视频然后下载到本地上传就报错了,任务列表显示error。 文件也卡在本地没删除
jjww 没删除是因为权限问题,后面会改进,临时解决方法就是按照本帖操作。大文件中转上传可能会由于网络波动而失败。
Aaron 嗯嗯删除方式成功了,我在试一次大文件看看
重启aria2了以后 ,发现文件权限是改了,但是用户列表还是不显示,文件也没有移动过去,在离线下载页面会弹出加载失败的错误。
ghostxiu 发现除了赋给777权限外还要赋给WWW用户chown www:www -R /www/wwwroot/one8.wolfmark.org/public/downloads
ghostxiu public 必须可写,不然文件也没办法上传
首先编辑/etc/passwd 找到运行php的账户(我这边是宝塔的www用户) 将/sbin/nologin这一段 改为 /bin/bash 然后用root运行 (将www换为你的用户) runuser -l www -c 'aria2c --conf-path=/aria2/aria2.conf -D'