安装宝塔
更新软件包
apt update
安装基础组件
apt install sudo wget curl
下载宝塔面板
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh
中文版本输入下面的代码解除登陆限制
sed -i "s|if (bind_user == 'True') {|if (bind_user == 'REMOVED') {|g" /www/server/panel/BTPanel/static/js/index.js
rm -rf /www/server/panel/data/bind.pl
安装LNMP
php可以选7.4
修改系统时间、添加SWAP
时间改成上海,swap添加一倍内存就行。
安装Aria2增强版
为了避免出错,安装下面的基础组件:
apt install sudo wget curl ca-certificates
运行安装脚本
wget -N git.io/aria2.sh && chmod +x aria2.sh
启动Aria2
./aria2.sh
配置Aria2
Aria2 一键安装管理脚本 增强版 [v2.7.4] by P3TERX.COM 0. 升级脚本 ——————————————————————— 1. 安装 Aria2 2. 更新 Aria2 3. 卸载 Aria2 ——————————————————————— 4. 启动 Aria2 5. 停止 Aria2 6. 重启 Aria2 ——————————————————————— 7. 修改 配置 8. 查看 配置 9. 查看 日志 10. 清空 日志 ——————————————————————— 11. 手动更新 BT-Tracker 12. 自动更新 BT-Tracker ——————————————————————— Aria2 状态: 已安装 | 已启动 自动更新 BT-Tracker: 已开启 请输入数字 [0-12]:
配置信息:
Aria2 简单配置信息: IPv4 地址 : 119.28.139.167 IPv6 地址 : IPv6 地址检测失败 RPC 端口 : 6800 RPC 密钥 : 43aa91a8314b404d513d 下载目录 : /root/downloads AriaNg 链接 : http://ariang.js.org/#!/settings/rpc/set/ws/119.28.139.167/6800/jsonrpc/NDNhYTkxYT gzMTRiNDA0ZDUxM2Q= [信息] Aria2 启动成功 !
项目仓库:https://github.com/P3TERX/aria2.sh
其他操作
启动:/etc/init.d/aria2 start 停止:/etc/init.d/aria2 stop 重启:/etc/init.d/aria2 restart 查看状态:/etc/init.d/aria2 status 配置文件路径:/root/.aria2c/aria2.conf (配置文件有中文注释,若语言设置有问题会导致中文乱码) 默认下载目录:/root/downloads RPC 密钥:随机生成,可使用选项7. 修改 配置文件自定义
配置Rclone
以下分为三小步这里做个简介:
第一步是PC端获取网盘授权的令牌;
第二步是在VPS里绑定获得的授权;
第三步才是自动上传配置。
因为OneDrive的授权需要在浏览器打开,而VPS没有图形界面,只能先在PC端获取授权,所以第一步和第二步有点重复。
窗口(PC)端安装Rclone
下载解压将里面的rclone.exe移动到本地C:\Windows\System32下这个目录,其它的可以删掉没关系 按win + R快捷键打开运行,输入cmd确定来打开CMD窗口,输入rclone config 命令开始配置 。
VPS安装Rclone
curl https://rclone.org/install.sh | sudo bash #安装Rclone rclone config #配置Rclone
提示:
以上两步就是为了得到token,并在VPS里创建一个rclone.conf配置文件,该配置文件目录在root/.config/rclone/rclone.conf,可以将这个文件下载到本地,以后如果重装只要在VPS上安装好rclone,再将这个配置文件放进这个目录即可,省去繁琐配置过程。
自动上传设置
因为挂载了其实最终的目的还是转移到自己的云盘空间中,vps 的硬盘能有多大,要折腾都是在云盘中。如果你是土豪当我没说。
这篇手记是解决后续利用 rclone 自动上传 aria2 下载的文件到 onedrive 或者 googledrive。到 aria2 的目录创建脚本:
vi autoupload.sh
脚本如下(作者:P3TERX,Github页面地址):
#!/bin/bash
#=================================================
# Description: Aria2 download completes calling Rclone upload
# Lisence: MIT
# Version: 1.8
# Author: P3TERX
# Blog: https://p3terx.com
#=================================================
downloadpath='/usr/local/caddy/www/file' #Aria2下载目录
name='remote' #配置Rclone时填写的name
folder='/backup' #网盘里的文件夹,留空为整个网盘。
retry_num=3 #上传失败重试次数
#=================下面不需要修改===================
filepath=$3 #Aria2传递给脚本的文件路径。BT下载有多个文件时该值为文件夹内第一个文件,如/root/Download/a/b/1.mp4
rdp=${filepath#${downloadpath}/} #路径转换,去掉开头的下载路径。
path=${downloadpath}/${rdp%%/*} #路径转换。下载文件夹时为顶层文件夹路径,普通单文件下载时与文件路径相同。
Task_INFO(){
echo
echo -e "[\033[1;32mUPLOAD\033[0m] Task information:"
echo -e "————————– [\033[1;33mINFO\033[0m] ————————–"
echo -e "\033[1;35mDownload path:\033[0m${downloadpath}"
echo -e "\033[1;35mFile path: \033[0m${filepath}"
echo -e "\033[1;35mUpload path: \033[0m${uploadpath}"
echo -e "\033[1;35mRemote path:\033[0m${remotepath}"
echo -e "————————– [\033[1;33mINFO\033[0m] ————————–"
echo
}
Upload(){
retry=0
while [ $retry -le $retry_num -a -e "${uploadpath}" ]; do
[ $retry != 0 ] && echo && echo -e "Upload failed! Retry ${retry}/${retry_num} …" && echo
rclone move -v "${uploadpath}" "${remotepath}"
rclone rmdirs -v "${downloadpath}" –leave-root
retry=$(($retry+1))
done
[ -e "${uploadpath}" ] && echo && echo -e "Upload failed: ${uploadpath}" && echo
[ -e "${path}".aria2 ] && rm -vf "${path}".aria2
[ -e "${filepath}".aria2 ] && rm -vf "${filepath}".aria2
}
if [ $2 -eq 0 ]
then
exit 0
fi
echo && echo -e " \033[1;33mU P L O A D ! ! !\033[0m" && echo
echo && echo -e " \033[1;32mU P L O A D ! ! !\033[0m" && echo
echo && echo -e " \033[1;35mU P L O A D ! ! !\033[0m" && echo
if [ "$path" = "$filepath" ] && [ $2 -eq 1 ] #普通单文件下载,移动文件到设定的网盘文件夹。
then
uploadpath=${filepath}
remotepath="${name}:${folder}"
Task_INFO
Upload
exit 0
elif [ "$path" != "$filepath" ] && [ $2 -gt 1 ] #BT下载(文件夹内文件数大于1),移动整个文件夹到设定的网盘文件夹。
then
uploadpath=${path}
remotepath="${name}:${folder}/${rdp%%/*}"
Task_INFO
Upload
exit 0
elif [ "$path" != "$filepath" ] && [ $2 -eq 1 ] #第三方度盘工具下载(子文件夹或多级目录等情况下的单文件下载)、BT下载(文件夹内文件数等于1),移动文件到设定的网盘文件夹下的相同路径文件夹。
then
uploadpath=${filepath}
remotepath="${name}:${folder}/${rdp%/*}"
Task_INFO
Upload
exit 0
fi
Task_INFO
需要修改的地方只有这三行:
downloadpath='/usr/local/caddy/www/file' #Aria2下载目录 name='remote' #配置Rclone时填写的name folder='/backup' #网盘里的文件夹,留空为整个网盘。
/usr/local/caddy/www/file 这个对应你aria2的下载目录(比如用我们的的增强脚本就是/root/downloads),remote 对应你配置rclone的时候设置的名称,/backup 对应你想同步上传到你网盘的哪个目录,如果留空就是根目录(如果没有这个目录,会自动创建)。
修改完毕后,给这个脚本执行权限:
chmod +x autoupload.sh
然后编辑aria2的配置文件(位置在/root/.aria2c),
找到on-download-complete,修改内容为这句:
# 调用 rclone 上传(move)到网盘 on-download-complete=/root/.aria2c/autoupload.sh # 调用 rclone 上传(move)到网盘 on-download-complete=/root/autoupload.sh
这就是利用rclone的on-download-complete自动上传aria2下载好的文件。
重新启动aria2:
/etc/init.d/aria2 restart
重启Aria2使配置文件生效,这样就大功告成了。
挂载OD
把 One Drive 网盘挂载到云主机/Vps 上和设置开机自启,自动挂载 One Drive 网盘
安装fuse
apt-get install fuse3 #debian
yum install fuse3 #centos
新建一个你要挂载的目录,例如我要挂载到 /home/onedrive
mkdir -p /home/onedrive
再执行挂载命令:
rclone mount od: /home/onedrive --allow-other --allow-non-empty --vfs-cache-mode writes
还可以自定义设置网盘里的文件夹路径,例如:
rclone mount od:backup /home/onedrive --allow-other --allow-non-empty --vfs-cache-mode writes
od:backup中od 为Rclone的配置名称,backup 为网盘里的目录名(注意后面的空格别漏了)
卸载 One Drive 磁盘
fusermount -qzu /home/onedrive
挂载只要几秒钟,但终端不会返回成功信息,关闭 SSH 重连即可。
重连后查看是否挂载成功:
df -h
开机自动挂载
创建 rclone-onedrive.service
nano /etc/systemd/system/rclone-onedrive.service
黏贴内容
[Unit] Description=Rclone Mount for OneDrive (od) After=network-online.target [Service] Type=simple User=root ExecStart=/usr/bin/rclone mount od: /home/onedrive \ --config=/root/.config/rclone/rclone.conf \ --allow-other \ --vfs-cache-mode=writes ExecStop=/bin/fusermount -u /home/onedrive Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
重载+启动
systemctl daemon-reload #重载 daemon,让新的服务文件生效 systemctl enable rclone-onedrive systemctl restart rclone-onedrive
然后查看状态:
systemctl status rclone-onedrive
其他
其他问题可以参考 Rclone 帮助文档 :https://rclone.org/googlecloudstorage/
毛桃博客









评论前必须登录!
注册