共计 1257 个字符,预计需要花费 4 分钟才能阅读完成。
提醒:本文最后更新于2026-09-10 11:26,文中所关联的信息可能已发生改变,请知悉!

使用前请确保已经rclone成功挂载GoogleDrive或MicrosoftOneDrive
实现功能
- 自动上传
- 删除本地文件
避免占用本地磁盘空间。
适用于rclone或aria2
echo "#!/bin/bash
downloadpath='/root/Download' #需要上传的目录,Aria2下载目录
name='gdrive' #配置Rclone时填写的name
folder='/rclone' #网盘里的文件夹,留空为整个网盘。
MinSize='10k' #限制最低上传大小,默认10k,BT下载时可防止上传其他无用文件。会删除文件,谨慎设置。
MaxSize='15G' #限制最高文件大小,默认15G,OneDrive上传限制。
filepath=$3 #Aria2传递给脚本的原始路径,如果是单文件则为/root/Download/1.mp4,如果是文件夹则该值为文件夹内第一个文件比如/root/Download/a/b/1.mp4
rdp=${filepath#${downloadpath}/} #路径转换,去掉开头的下载路径。
path=${downloadpath}/${rdp%%/*} #文件或文件夹路径。如果是单个文件,应与原始路径一致。
if [ $2 -eq 0 ]
then
exit 0
fi
while true; do
if [ "$path" = "$filepath" ] && [ $2 -eq 1 ] #如果下载的是单个文件
then
rclone move -v "$filepath" ${name}:${folder} --min-size $MinSize --max-size $MaxSize
rm -vf "$filepath".aria2 #删除残留的.aria.2文件
exit 0
elif [ "$path" != "$filepath" ] #如果下载的是文件夹
then
while [[ "`ls -A "$path/"`" != "" ]]; do
rclone move -v "$path" ${name}:"${folder}"/"${rdp%%/*}" --min-size $MinSize --max-size $MaxSize --delete-empty-src-dirs
rclone delete -v "$path" --max-size $MinSize #删除多余的文件
rclone rmdirs -v "$downloadpath" --leave-root #删除空目录,--delete-empty-src-dirs参数已实现,加上无所谓。
done
rm -vf "$path".aria2 #删除残留的.aria2文件
exit 0
fi
done" >> /root/upload.sh
记得修改里面的路径为自己的
downloadpath='/root/Download' #需要上传的目录,Aria2下载目录
name='gdrive' #配置Rclone时填写的name
folder='/rclone' #网盘里的文件夹,留空为整个网盘。
授予可执行权限
chmod +x upload.sh
运行
bash upload.sh
正文完