1.在google云中创建一个实例
选择可用的地区,这里我选择的是新加坡,然后下面服务器配置选择Micro,允许http和https访问,最后点击创建,等待一会儿,点击右侧ssh连接服务器终端
2.安装rclone
我们使用官方的脚本进行安装
首先我们需要安装解压工具
yum -y install unzip
然后使用官方提供的命令
curl https://rclone.org/install.sh | sudo bash
稍等一会儿就安装成功了
3.配置rclone
安装完成后,我们在命令行输入以下代码
rclone config
下面就开始进行配置操作
首先是创建一个新连接
n/s/q> n
输入名称(自己随便输入)
name> gdShare
然后下面类型输入drive
Storage> drive
后面两步都直接回车,不输入
client_id>
client_secret>
下一步选择第一个选项
scope> 1
再后面两步也是直接回车不输入
root_folder_id>
service_account_file>
是否编辑预先配置,我们选择No
y/n> n
使用自动配置我们这里也是选择No
y/n> n
这时候会出来一段链接,点击直接打开或者复制用浏览器打开都可以,打开后,这里会要你登录你想挂载的google drive的账号,授权选择允许后会生成一个代码,将代码复制到下面的选项中就可以了
Enter verification code> 【生成的代码】
然后会让你选择是否是团队账号,这里我们默认选择No
y/n> n
然后下一步我们选择yes完成创建
y/e/d> y
然后可以看到我们创建的项目了
最后输入q退出配置
e/n/d/r/c/s/q> q
4.挂载磁盘
创建一个文件夹来挂载磁盘
mkdir /mnt/googledrive
在挂载之前,我们要先安装fuse文件系统
yum -y install fuse
然后输入挂载命令
rclone mount gdShare:/ /mnt/googledrive/ --allow-other --allow-non-empty --vfs-cache-mode writes &
输入命令查看是否挂载成功
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 285M 0 285M 0% /dev
tmpfs 294M 0 294M 0% /dev/shm
tmpfs 294M 4.4M 289M 2% /run
tmpfs 294M 0 294M 0% /sys/fs/cgroup
/dev/sda2 20G 2.2G 18G 11% /
/dev/sda1 200M 12M 189M 6% /boot/efi
tmpfs 59M 0 59M 0% /run/user/1000
gdShare: 15G 848K 15G 1% /mnt/googledrive
可以看到gdShare已经在上面了
5.设置开机自动挂载
每次开关机服务器,rclone都要重新手动挂载,为了方便,我们设置自动挂载命令
首先新建一个rclone.service文件
vim /usr/lib/systemd/system/rclone.service
写入
[Unit]
Description=rclone
[Service]
User=root
ExecStart=/usr/bin/rclone mount gdShare:/ /mnt/googledrive/ --allow-other --allow-non-empty --vfs-cache-mode writes
Restart=on-abort
[Install]
WantedBy=multi-user.target
保存退出后
重载daemon,让新的服务文件生效
systemctl daemon-reload
然后我们就可以通过systemctl来启动clone了
systemctl start rclone
设置开机自启
systemctl enable rclone
重启你的服务器,然后看一下rclone的服务启动了没有,再查看一下谷歌硬盘有没有挂载成功:
reboot
systemctl status rclone
df -h
6.安装Aria2
我们这里要使用到wget,所以先安装wget
yum -y install wget
然后我们使用P3TERX的一键安装版本
wget -N git.io/aria2.sh && chmod +x aria2.sh && ./aria2.sh
首先我们输入1,安装Aria2,然后这个脚本会自动安装并启动Aria2
安装时间可能比较长,会卡在一个地方很久,请不要中断安装,等待即可
7.配置自动上传脚本
我们创建一个脚本
vim rcloneupload.sh
填入以下内容,记得RemoteDIR和LocalDIR根据自己的实际情况进行设置
#!/bin/bash
GID="$1";
FileNum="$2";
File="$3";
MinSize="5" #限制最低上传大小,默认5k
MaxSize="157286400" #限制最高文件大小(单位k),默认15G
RemoteDIR="/mnt/googledrive/"; #rclone挂载的本地文件夹,最后面保留 /
LocalDIR="/root/download/"; #Aria2下载目录,最后面保留 /
if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
if [[ "$FileNum" -le '0' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi
function LoadFile(){
IFS_BAK=$IFS
IFS=$'\n'
if [[ ! -d "$LocalDIR" ]]; then return; fi
if [[ -e "$File" ]]; then
FileLoad="${File/#$LocalDIR}"
while true
do
if [[ "$FileLoad" == '/' ]]; then return; fi
echo "$FileLoad" |grep -q '/';
if [[ "$?" == "0" ]]; then
FileLoad=$(dirname "$FileLoad");
else
break;
fi;
done;
if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi
EXEC="$(command -v mv)"
if [[ -z "$EXEC" ]]; then return; fi
Option=" -f";
cd "$LocalDIR";
if [[ -e "$FileLoad" ]]; then
ItemSize=$(du -s "$FileLoad" |cut -f1 |grep -o '[0-9]*' |head -n1)
if [[ -z "$ItemSize" ]]; then return; fi
if [[ "$ItemSize" -le "$MinSize" ]]; then
echo -ne "\033[33m$FileLoad \033[0mtoo small to spik.\n";
return;
fi
if [[ "$ItemSize" -ge "$MaxSize" ]]; then
echo -ne "\033[33m$FileLoad \033[0mtoo large to spik.\n";
return;
fi
eval "${EXEC}${Option}" \'"${FileLoad}"\' "${RemoteDIR}";
if [[ $? == '0' ]]; then
rm -rf "$FileLoad";
fi
fi
fi
IFS=$IFS_BAK
}
LoadFile;
给脚本添加可执行权限
chmod +x rcloneupload.sh
然后再编辑Aria2配置文件,设置下载完成后执行的命令为rcloneupload.sh
vim /root/.aria2/aria2.conf
内容如下所示
# 下载完成后执行的命令
# 此项未定义则执行下载停止后执行的命令(on-download-stop)
on-download-complete=/root/rcloneupload.sh
最后重启aria2即可
service aria2 restart
8.使用可视化面板进行操作
Aria2只是一个命令行程序,我们在这里需要配合前端面板才能获得更好的操作体验,AriaNg就是一个很不错的前端面板,但是,在这里我使用的是一个本地程序,他可以支持Windows和macOS,不需要用浏览器
项目地址如下
https://github.com/mayswind/AriaNg-Native
下载合适的版本后,我们安装打开首先设置RPC,地址也就是你Aria2的服务器ip,协议我们选择http,请求方法为POST,密钥也就是我们在服务端生成的密钥
视频教程请访问
Youtube https://youtu.be/GFtZHti6P78
Bilibili https://b23.tv/Efpg4F