Rat's

VPS上传文件到OneDrive网盘脚本,可配合Aria2实现自动上传
说明:我们从VPS上传文件到OneDrive网盘的方法很多,包括Rclone挂载,OneIndex程序的上传功能,...
扫描右侧二维码阅读全文
19
2018/11

VPS上传文件到OneDrive网盘脚本,可配合Aria2实现自动上传

说明:我们从VPS上传文件到OneDrive网盘的方法很多,包括Rclone挂载,OneIndex程序的上传功能,不过2个在上传的时候都还是有点BUG,前者会出现丢文件的情况,后者也会出现上传失败,都不是很理想,这里博主再介绍个OneDrive上传脚本,几乎不会出现上传问题,很好用,由萌咖大佬制作,并将其适用于Aria2的自动上传,这里说下具体操作。

更新

【2018.12.16】
应一些同学需求,新增上传到指定文件夹的方法。
【2018.11.19】
OneDrive上传脚本BUG已被萌咖大佬修复,修复了空格处理不当,导致部分带空格的文件夹上传失败,从而影响Aria2上传脚本。
【2018.10.30】
修复Aria2上传脚本BUG,包括修复了不能上传文件夹功能,修复了不能正确上传文件名中包含空格的项目。
【2018.10.29】
优化OneDrive网盘脚本。优化认证步骤。
独家分享萌咖大佬的Aria2自动上传脚本,判断更加细节,支持单文件、文件夹里的单文件、文件夹里的多文件及文件夹上传。超过15G文件停止上传(onedrive限制)。

说明

【2018.11.19】
#目前脚本修复的差不多了,博主测试各种带空格的文件夹自动上传都没问题。

#如果依然出现有些文件上传不了?
出现这种情况的话,大概是文件虽然下载完成了,但一直卡在做种阶段,导致参数传不到自动上传脚本,从而文件夹也上传不了。
解决方法:在配置文件里加入seed-time=0参数(意思是停止做种),再重启Aria2即可。

方法

Github地址:https://github.com/0oVicero0/OneDrive

脚本特性:脚本支持文件夹上传,支持获取文件的匿名直链,且只适用于OneDrive非个人版。

1、安装脚本
安装curl,用于访问API

#Ubuntu和Debian系统
apt-get install -y curl

#Centos系统
yum install curl -y

运行命令安装脚本:

#为了方便小白,本脚本内置萌咖大佬永久有效的应用参数,可以直接使用,如果你不放心可以自己获取参数,不过可能会遇到很多坑,建议直接使用脚本默认的参数
wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash

本脚本需要三个参数Client IDSecretReply URL,均需要在/usr/local/etc/OneDrive/onedrive.cfg文件里修改,参数获取看下面,当然你也可以不用管,直接进行步骤3

2、获取参数
先访问Microsoft Azure Management Portal,然后点击左侧菜单栏中的Azure Active Directorg,选择应用注册,再点击页面上方的新应用程序注册。
请输入图片描述
输入名称如:OneDrive for Linux,应用程序类型选择Web应用/API,填入登陆URLhttps://login.microsoftonline.com/,再点击创建。
请输入图片描述
然后点击刚刚创建的应用程序,复制应用程序ID,即脚本需要的Client ID参数,再点击左上角的设置。
请输入图片描述
然后进行如下修改:
请输入图片描述

#点击右边的回复URL,将其修改为:https://onedrive.live.com/about/business/,即脚本所需要的Reply URL参数。
#点击所需权限,点击Windows Azure Active Directory确认是否已选中Sign in and user profile,如果没有则选中并点击完成。
#点击上方的添加,点击选择API,选中Office 365 SharePoint Online,并点击选择。在选择权限中选中Read user files 和Read and write user files,并点击选择。点击完成按钮,并关掉此小窗口。
#点击密钥,填入密钥描述,如:OneDrive,选择年限1年,点击保存,再复制密匙,即脚本所需要的Secret参数。

不过这里说下密匙(Secret参数)填写的一个坑,由唯一度博主填平。就是当我们获取到带+号的密匙时候,我们需要使用编码符号,把+改成%2B,然后再填入脚本里,不然最后会出现Something went wrong, here is the API response的错误,导致验证失败。

3、运行账号认证程序
运行命令onedrive -a,将返回的网址复制到浏览器打开,再登陆你的OneDrive for Business账号,登陆成功后复制地址栏中的地址(复制包括localhost的所有链接地址),粘贴到SSH客户端里,敲回车键即可。
请输入图片描述
如果返回以下字段:It seems like we have a refresh token, so we are ready to go,那就恭喜你,设置成功!

提示:如果你遇到bash: onedrive: command not found错误,则需要找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码,再保存就行了。

使用

1、使用命令

onedrive --help
 
#####################################################################
Usage: onedrive [OPTIONS] file1 [file2...]
       onedrive-d folder
 
Options:
  -d, --debug        Enable debug mode
  -a, --authorize    Run authorization process
  -f, --folder       Upload files into this remote folder
  -c, --creat        Creat remote folder."
                     Directory names are separated with a slash, e.g.
                     rootFolder/subFolder
                     Do NOT use a trailing slash!
  -h, --help         Show this help
  -r, --rename       Rename the files during upload
                     For each file you specify you MUST also specify
                     the remote filename as the subsequent parameter
                     Be especially careful with globbing!
  -s, --silent       Silent mode for use in crontab scripts.
                     Return only exit code.
  -ls,--list         Show the itmes in this directory.
  -l, --link         Show the file share link.
      
#####################################################################

2、命令示范
如果我们要上传/root文件夹里面的moerats.txt,使用命令:

#此命令默认上传到OneDrive根目录
onedrive '/root/moerats.txt'

#如果上传到指定文件夹,就需要加-f参数
onedrive -f RATS '/root/moerats.txt'  #上传到OneDrive根目录的RATS文件夹
onedrive -f RATS/RATS '/root/moerats.txt'  #上传到OneDrive根目录RATS文件夹里的RATS文件夹

如果我们要将/root文件夹及里面的文件夹和文件一起上传,使用命令:

#此命令默认上传到OneDrive根目录
onedrive-d '/root'

#如果上传到指定文件夹,就需要加-f参数
onedrive-d -f RATS '/root'  #上传到OneDrive根目录的RATS文件夹
onedrive-d -f RATS/RATS '/root'  #上传到OneDrive根目录RATS文件夹里的RATS文件夹

如果我们想直接查看OneDrive网盘目录的文件,使用命令:

#此命令只查看根目录文件
onedrive -l
#如果我们要查看根目录root文件夹里的文件
onedrive -l /root

请输入图片描述

Aria2自动上传

上传方法参考:使用Aira2下载文件后自动上传到Google Drive网盘

上传代码如下:

#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640"
RemoteDIR="";  #上传到Onedrive的路径,默认为根目录,如果要上传到指定目录,方法看文章最后面。
LocalDIR="/home/www/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
    if [[ $(dirname "$File") == $(readlink -f $LocalDIR) ]]; then
      ONEDRIVE="onedrive";
    else
      ONEDRIVE="onedrive-d";
    fi
    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
    if [[ -n "$RemoteDIR" ]]; then
      Option=" -f $RemoteDIR";
    else
      Option="";
    fi
    EXEC="$(command -v $ONEDRIVE)";
    if [[ -z "$EXEC" ]]; then return; fi
    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" -ge "$MaxSize" ]]; then
        echo -ne "\033[33m$File \033[0mtoo large to spik.\n";
        return;
      fi
      eval "${EXEC}${Option}" \'"${FileLoad}"\';
      if [[ $? == '0' ]]; then
        rm -rf "$FileLoad";
      fi
    fi
  fi
  IFS=$IFS_BAK
}
LoadFile;

如果你想上传到指定的文件夹,修改如下:

#上传到Onedrive里的RATS目录,参数改为:RemoteDIR="RATS"; 
#上传到Onedrive里的RATS目录里的RATS目录,参数改为:RemoteDIR="RATS/RATS";

如果你觉得上传速度较慢,可以编辑/usr/local/etc/OneDrive/onedrive.cfg,修改threads线程数,默认2

#这里提供个快速修改线程数的命令,这里默认修改为5,建议别太高!
sed -i "s#max_upload_threads=2#max_upload_threads=5#g" '/usr/local/etc/OneDrive/onedrive.cfg'

文章参考:OneDrive for Business

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2018 年 12 月 25 日 10 : 08 AM

发表评论

537 条评论

  1. Mr.Lin

    有可能上传通过文件类型归档文件夹吗
    或者指定那个类型上传那个文件夹

    1. Rat's
      @Mr.Lin

      这个是可以实现了,截取文件后缀,然后判断一下

      1. Mr.Lin
        @Rat's

        命令上传关闭ssh后会后台上传吗?

        1. Rat's
          @Mr.Lin

          不会,除非你也挂到后台上传。

      2. Mr.Lin
        @Rat's

        啥时候更新下啊,不会这玩意

        1. Rat's
          @Mr.Lin

          这个算了,个别需求

  2. Yoo

    (提示:如果你遇到bash: onedrive: command not found错误,则需要找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码,再保存就行了。)
    大佬,这边centos系统命令怎么输呀,小白不会,求仔细步骤,谢谢了

    1. Rat's
      @Yoo

      什么命令

      1. Yoo
        @Rat's

        就具体在ssh上输的

        1. Rat's
          @Yoo

          直接复制命令粘贴就行了,都一样

  3. xx

    大佬,这个能手动批量上传吗?

    1. Rat's
      @xx

      可以。

  4. mathonix

    /usr/local/bin/onedrive-d: eval: line 36: unexpected EOF while looking for matching `''
    /usr/local/bin/onedrive-d: eval: line 37: syntax error: unexpected end of file
    上传一直提示这个是怎么回事。。

    1. Rat's
      @mathonix

      说你脚本36行左右,引号有问题。

  5. daniu

    大佬,用这个脚本后,还能使用oneindex的那个吗,请给点说明,谢谢啦

    1. Rat's
      @daniu

      如果只是手动上传的话,都可以,貌似不冲突

  6. h'bin

    大佬,下好后无法上传到网盘上
    日志是这个
    15:06:43 [NOTICE] Download complete: /root/x//Sakurato.sub01[1080P]

    15:06:43 [NOTICE] Your share ratio was 0.0, uploaded/downloaded=0B/285MiB
    [#e3de11 0B/608MiB(0%) CN:34 SD:0 DL:0B]

    15:06:43 [NOTICE] Serialized session to '/root/.aria2/aria2.session' successfully.

    1. h'bin
      @h'bin

      解决了,文件文件位置多加了/号

  7. xxy

    我上次都看到一个rclone.sh上传脚本,怎么现在怎么也找不到了,你删了吗

    1. Rat's
      @xxy

      不清楚,有什么特征吗

  8. LOGI

    大佬,这个应用 id 是不是过期或者 onedrive 的 api 改了,现在上传不了了,前几个月都好好的,就从昨天开始的。麻烦大佬有时间再给测试下

    1. LOGI
      @LOGI

      https://social.msdn.microsoft.com/Forums/azure/en-US/d640a9ec-09f0-4c75-9883-93d153f6c07d/the-app-id-is-blocked-for-access-of-the-o365-discovery-service?forum=Office365forDevelopers

      好像是旧 api 过期了,麻烦大佬移植一下新 api

      1. Rat's
        @LOGI

        好像把老版本的api砍了

        1. LOGI
          @Rat's

          改了改大佬的脚本,上传换成 rclone 了,使用下来体验尚可,有需要的朋友可以看看
          https://logi.ml/script/fake-offline-download-for-onedrive-using-rclone-and-aria2.html

  9. yurimoe

    上传出现(Code: 000)错误,默认API,onedrive -ls 空白 通过onedrive -a 重新认证了一下,问题还是这样。这是怎么了?An error has occurred while uploading '1.sh' (Code: 000)

    1. Rat's
      @yurimoe

      api调用被停了

  10. Xgg

    使用onedrive 上传文件的的时候会出想Could not create folder 'download' in 'root' 内容提示,然后文件上传不上,请问如何解决?

    1. Rat's
      @Xgg

      是用的内置参数么,上传命令是啥?

      1. 个人练习生
        @Rat's

        我的也这样了,之前一直是好的,现在onedrive -l也显示不了目录

      2. Xgg
        @Rat's

        命令是screen onedrive-d download/ 想把download文件夹下的文件全部上传,然后上传只能上传一部分,有一部分是不能上传的,不能上传就显示了Could not create folder 'download' in 'root' 这个命令

        1. Rat's
          @Xgg

          这个就是不很清楚了

  11. 柒柒

    大佬,onedrive脚本怎么卸载重安装的,开启两步验证后发现没法使用。onedrive -a重新安装也是不行,可以完全卸载的吗

    1. Rat's
      @柒柒

      卸载的话,好像删掉这个文件夹就行了,/usr/local/etc/OneDrive

  12. cook

    你好,整个文件夹大小超过15G,里面的文件没有超过15G,这样aria2下载完自动上传会报too large to spik上传不了,请问这个能改吗?

    1. Rat's
      @cook

      脚本其实可以自己改的,判断大的话,去掉if [[ "$ItemSize" -ge "$MaxSize" ]]; then fi;就可以了

      1. cook
        @Rat's

        好的,谢谢

  13. neko酱

    为什么含有&特殊字符的文件夹不能自动上传?是不是被识别为后台命令了?比如下面那个,手动上传还得要放到二级目录下才行。
    这个要怎么修复啊?
    [Airota&Nekomoe kissaten&VCB-Studio] Shoujo Shuumatsu Ryokou [Ma10p_1080p]

  14. N-one

    你好博主,我用这个脚本的时候onedrive -l可以正常获取目录,但是上传时会提示找不到文件An error has occurred while uploading '路径' (File does not exist),然而事实上文件是存在的,请问这是什么原因

    1. Rat's
      @N-one

      这个就不太清楚了,你用的啥命令?

  15. 不知道

    大佬,这个脚本上传用种子下载的文件不完整,种子的主目录可以上传,目录里的文件不完整,大多都是视频无法上传,用命令可以正常上传无报错

    1. Rat's
      @不知道

      这个问题不太清楚,需要看日志啥的

      1. 不知道
        @Rat's

        aria2的日志?还是哪的

        1. Rat's
          @不知道

          aria2的日志

  16. 空明

    大佬 这个脚本我前两天还能用 但是这两天下载的东西 都无法正常上传到onedrive里

    1. Rat's
      @空明

      看下aria2.log日志文件看看,或者自己手动上传一下,看有没有哪里报错什么的

  17. aa

    这个脚本还能用吗?,上传时一直(000)错误

    1. Rat's
      @aa

      一直就可以,你使用默认的api就可以了。

      1. aa
        @Rat's

        上传中途老是失败有什么解决办法吗?no refresh token received from api.

      2. aa
        @Rat's

        确实可以 ,可能是我的api有问题,谢谢!

  18. weilai

    localhost 拒绝了我们的连接请求.
    使用onedrive -a 时,复制链接,在浏览器中打开就提示这个要怎么解决啊?

    1. Rat's
      @weilai

      这个是正常的,然后将链接复制到SSH就可以了。

  19. Justf

    这个脚本有个问题,指定目录下的二级目录里的文件就不会上传了,只能上传指定目录下的文件。。

    1. Rat's
      @Justf

      不会吧,我测试是可以上传的,包括文件夹和文件夹里面的子文件夹包括文件,都可以。

      1. Justf
        @Rat's

        好像是这个 docker ( https://www.moerats.com/archives/750/ )文件权限的问题,这个 docker 下载的文件夹都是不行的,本来是连文件都无法上传的,我自己新建一个下载目录才解决了文件无法上传的问题,然后我就发现 Aria2 下载的文件夹也是无法上传的。。

      2. Justf
        @Rat's

        进去手动上传,提示 No access to the folder,不知道什么情况,查看权限也都是 root 所有

        1. Rat's
          @Justf

          你这啥操作,不会直接去容器里面操作的吧?

          1. Justf
            @Rat's

            啊,是啊,因为我想下载完自动上传,如果在容器外的话没法自动上传吧。。。

            1. Rat's
              @Justf

              docker里面操作会很麻烦,会遇到各种权限问题,还是建议你手动安装aria2,我博客有一键脚本,很方便的,地址:https://www.moerats.com/archives/251/。

  20. 请叫我鲍鱼

    现在这个修复了自动删除下载文件吗?我是小白中的小白,只会一键

    1. Rat's
      @请叫我鲍鱼

      没问题的。

      1. 请叫我鲍鱼
        @Rat's

        如果返回以下字段:It seems like we have a refresh token, so we are ready to go,那就恭喜你,设置成功!
        小白设置到这里就完全后面不用管对吗?ONEINDEX和离线都可以了是吗?
        大佬在萌咖吹水群吗

        1. Rat's
          @请叫我鲍鱼

          后面要管,你需要调用上传命令才行,吹水群一直都在

          1. 请叫我鲍鱼
            @Rat's

            授权chmod +x rcloneupload.sh,然后再到Aria2配置文件中加上一行on-download-complete=/root/rcloneupload.sh即可,后面为脚本的路径。最后重启Aria2生效。
            这最后一部,我新建了个rcloneupload.sh,然后上传到VPS中就不知道怎么办了,请问大佬,如何在配置文件中加这一句,还有重启指令是什么?,谢谢大佬

            1. 请叫我鲍鱼
              @请叫我鲍鱼

              我再试试,我好像懂了,谢谢大佬

  21. msk

    wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash

    这个安装命令是失效了吗 没反应啊

    1. Rat's
      @msk

      没反应才是正常的,继续操作就行了

  22. slp

    大佬,我今天出现了一个错误查看日志文件是这样的06/12 15:10:42 [NOTICE] Download complete: /usr/local/caddy/www/xiazai/QQ9.1.3.25332.exe
    An error has occurred while creating folder '' in '' (u8bbfu95eeu88abu62d2u7eddu3002u60a8u6ca1u6709u6743u9650u6267u884cu6b64u64cdu4f5cu6216u8bbfu95eeu6b64u8d44u6e90u3002
    然后我用onedrive -a查看目录文件显示错误是root@iZj6chbv3lrr68y42g2byhZ:~# onedrive -l
    error.code=accessDenied
    error.message=u8bbfu95eeu88abu62d2u7eddu3002u60a8u6ca1u6709u6743u9650u6267u884cu6b64u64cdu4f5cu6216u8bbfu95eeu6b64u8d44u6e90u3002,尝试重新配置脚本也是无法解决

    1. slp
      @slp

      我已经发现问题了,谢谢了大佬,是由于我的账号被禁了

  23. hyx

    你好,博主现在Oneindex搭建的云盘是不是不可以下载了,我一点右下角的下载按钮就跳出了这么一串代码:{"error":{"code":"serviceNotAvailable","message":"Service unavailable","retryAfterSeconds":120}}

    1. Rat's
      @hyx

      应该不会吧,也可能是api被限制了

  24. 东废

    大佬,我照这个复制的,但不能自动传到onedrive,运行bash rcloneupload.sh之后没有反应,目录是这样的RemoteDIR="电影";LocalDIR="/Download/"; 手动运行onedrive -d -f 电影 '/Download'才可以,是什么原因啊

    1. Rat's
      @东废

      需要配合aria2一起使用,检查下权限啥的,一般姿势对了就可以自动上传了

      1. 东废
        @Rat's

        嗯,我还看了你的https://www.moerats.com/archives/700/和https://www.moerats.com/archives/482/,但是我系统是centOS7,不知道是不是因为这原因,rcloneupload.sh才不运行

        1. Rat's
          @东废

          这个与系统没啥关系,把文件夹名称改英文试试?或者看下aria2的log日志。

  25. 葫芦娃

    大佬,现在这个登陆界面进去变了 https://portal.azure.com/ ,微软使用了新版的App registrations ,App registrations (Legacy)的页面进不去

    点击右边的回复URL,将其修改为:https://onedrive.live.com/about/business/,即脚本所需要的Reply URL参数。

    在页面中找不到“回复URL”这个入口了,不知道哪里修改这个地址https://onedrive.live.com/about/business/

    1. Rat's
      @葫芦娃

      直接用脚本默认的参数吧,现在自己申请的貌似多半用不了

      1. 葫芦娃
        @Rat's

        就是这个回复URL的参数我不用管他是吗 大佬

        1. Rat's
          @葫芦娃

          先运行安装脚本,然后啥都不管,直接第三步认证即可

  26. tmmxa

    大佬从哪里可以看到上传进度啊,用的aria2自动上传

    1. Rat's
      @tmmxa

      自动好像不是很好看进度,手动才行

  27. v10

    大佬,transmission下载的东东如何自动上传?pt站不支持aria2……

    1. Rat's
      @v10

      我记得有人研究过上传方法,我有空看看,顺便发个教程

  28. Hoool

    大佬,是否支持世界互联国内版本?

    1. Rat's
      @Hoool

      应该不支持,你可以尝试一下

      1. Hoool
        @Rat's

        是不支持。。于是更改相关参数,现在提示授权成功了。但是获取文件时提示:No refresh token received from API. Please try again or re-authorize。请问这个好解决吗

        1. Rat's
          @Hoool

          这个不太清楚了。

  29. 梯途

    上传完成后删除本地文件要怎么写啊 在脚本里,谢谢大佬了!

    1. Rat's
      @梯途

      脚本不是有了上传完就删除命令吗。

      1. 梯途
        @Rat's

        然而并没有-_-||
        我今天下载不了看log发现硬盘满了才发现

  30. UYG

    大佬,配合aria2,怎么关闭自动上传,或者限速啊?我的vps因为长时间超负荷被ban了
    而且上传效率好像有点低,10几G的恭喜花了近百G流量

    1. UYG
      @UYG

      打错了,是总共。关闭我是直接把上传脚本关了,但我更想知道怎么限速。

      1. Rat's
        @UYG

        试试这个教程,https://www.moerats.com/archives/937/

  31. 雨夜听雨

    大佬,执行onedrive-d 命令,关闭ssh窗口 就停止上传了,怎么破?

    1. Rat's
      @雨夜听雨

      挂后台,比如上传命令 onedrive-d,挂后台就是nohup onedrive-d &

  32. 雨夜听雨

    大佬,用了代码,并不会直接上传文件夹,只是把文件夹里的文件全部上传,什么情况?

    1. Rat's
      @雨夜听雨

      是就一个这样,还是所有带文件夹的BT下载完都这样?

      1. 雨夜听雨
        @Rat's

        应该是所有,我用种子下载了3个都是只传文件

        1. Rat's
          @雨夜听雨

          可以加下文章下面联系方式,我看看

  33. 唯心寒辞

    100%一直显示正在做种怎么办

    1. 唯心寒辞
      @唯心寒辞

      原来加上seed-time=0就可以了。。。

  34. TyrielWW

    大佬帮我看看吧
    手动上传单文件没问题,上传文件夹时报错
    root@PT:/# onedrive -d MOVE '/PT/漫威宇宙电影/[01].[钢铁侠].Iron.Man.2008.BluRay.720p.x264.DTS-WiKi'
    An error has occurred while uploading '/PT/漫威宇宙电影/[01].[钢铁侠].Iron.Man.2008.BluRay.720p.x264.DTS-WiKi' (File does not exist)
    文件是存在的,难道是因为文件太大?还是文件夹命名的路径太长?
    谢谢

    1. Rat's
      @TyrielWW

      用--debug试试,看下具体问题

      1. TyrielWW
        @Rat's

        大佬
        我看错命令了。。。
        -d-f都不能少。。。

        1. Rat's
          @TyrielWW

          确实,我也没仔细看你那个命令

      2. TyrielWW
        @Rat's

        root@PT:/# onedrive -f MOVE '/PT/蓝色星球2' --debug

        An error has occurred while uploading '/PT/蓝色星球2' (File does not exist)
        An error has occurred while uploading '--debug' (File does not exist)

  35. Linon

    运行onedrive -a
    出现-bash: onedrive: command not found

    1. Rat's
      @Linon

      CentOS吗?先运行export PATH=/usr/local/bin:$PATH,然后再试试,如果不报这个错误的话,解决方法再看一次文章,有写

      1. Linon
        @Rat's

        好了,感谢

  36. 雪月

    博主,为什么我的bt大多数不能用,能用的也卡99%不完成,它不完成自动上传oneindex也用不了啊,https://ww2.sinaimg.cn/large/007qKirjly1g233umi2vaj30u01rctdc.jpg

    1. Rat's
      @雪月

      看是不是卡在了做种什么的,看下配置参数seed-time=0是不是为0,下载任务只有彻底完成才会触发上传

  37. lala

    这个怎么在后台上传,然后可以调出来的时候可以看到进度

  38. 小孩子

    听说使用硅云的香港虚拟主机可以搭建,我买了个20块钱一个月的,请问下楼主可以搭建吗。

    1. Rat's
      @小孩子

      虚拟主机好像不行

  39. 柒柒

    之前配置一直没法成功,这次重新配置了下发现原来一直忘记加执行权了

    1. Rat's
      @柒柒

      其实有些问题 ,把教程多看几遍,评论多看几遍,基本都可以自己解决

  40. funnypc
    如果无种了,想在任务未完成的情况下,有办法可以提前上传已上传的部分文件吗?amule 的 Download completed events 可以配合这个脚本实现自动上传吗?需要做哪些修改呢?

    谢谢!

    1. Rat's
      @funnypc

      这个是在任务彻底完成的时候才会触发上传,未完成又上传部分暂时不清楚。

  41. fly

    我用自己的参数 后出现000错误 然后想用默认参数wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash 命令输入了没反应 进去看配置文件还是我自己的……

    1. 游客
      @fly

      所以000错误怎么解决啊

      1. Rat's
        @游客

        使用默认参数就没这个问题。

    2. fly
      @fly

      好了 我自己手动下载上传就行了~ 在此感感感感感感感谢Rat‘’s !祝你 寿比南山,山清水秀,秀外慧中,中外合璧,壁连珠合,合家欢乐,乐以忘忧,忧深思远,远至迩安,安居乐业 一帆风顺,顺风顺水,水到渠成,成家立业,业峻鸿绩。

      1. Rat's
        @fly

        会说话

  42. fly

    提示需要管理员的 在选中Read user files 和Read and write user files,时候 注意右边是否有管理员的√…………选没√得

  43. 新手

    手动运行上传脚本,无反应,无日志查看。。。
    onedrive命令上传就可以。。。
    测试环境Ubuntu16+

    1. Rat's
      @新手

      手动运行肯定没反应的,由aria2调用,然后通过获取的下载参数进行判定上传

      1. 雪月
        @Rat's

        我手动可以,但他压根就不上传啊,试了几个了

        1. Rat's
          @雪月

          手动上传文件有什么报错信息?

          1. 雪月
            @Rat's

            手动可以上传啊,我用单个图片可以自动上传,很多图片或者大文件就不行了,手动没有问题

            1. Rat's
              @雪月

              这个你看下上传日志,aria2.log

  44. 猎鹰

    错误000什么鬼

    1. Rat's
      @猎鹰

      上传报错?用的默认参数?

      1. 猎鹰
        @Rat's

        上传报错,参数是自己获取的。换默认的已经好了

  45. 扬帆大海

    最近偶发性出现一些奇怪的问题,
    比如一个种子有1个视频(2G)+3个图片(几M不等),
    最后传到onedrive的只有图片,视频不见了。
    问题发生的很偶然,也没发现规律。。迷之问题。
    也不知道是网络不稳定?机器不稳定导致的?代码对文件名的判断问题?
    还在继续研究中。

    1. Rat's
      @扬帆大海

      可以看下aria2日志

  46. sand

    下载完之后,没有任何反应,然后就结束了。日志里也没提示任何错误。这是什么问题

    1. Rat's
      @sand

      你是说安装脚本没反应?这个是正常的

      1. sand
        @Rat's

        是用aria2下载http链接完成后,日志里没有调用upload.sh的信息,直接就session结束了

  47. swordsman

    链接打不开,https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login怎么办?

    1. Rat's
      @swordsman

      不需要你打开,你只要复制地址栏连接到ssh客户端即可

      1. swordsman
        @Rat's

        感谢博主

  48. swordsman

    链接打开不,怎么解

  49. tcc

    大佬,问一下改了线程9为什么平均上传速度还是只有3m

    1. tcc
      @tcc

      还有这个自动上传脚本怎么改才能让oneindex使用,小白一枚看不懂

      1. Rat's
        @tcc

        没试过改,我都是直接用脚本

  50. kanlee

    版主,这个网页无法打开的?https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login

    1. Rat's
      @kanlee

      打不开是正常的。

  51. anadano

    稳是很稳,不过OneDrive是真的慢啊,Google Drive上传40M,Onedrive只有4M
    用rclone也很慢

    1. Rat's
      @anadano

      改下线程数会怎么样?我记得用oneindex自带的上传也是挺快的。

  52. sand

    这个脚本不能自动上传下载的文件夹吗,博主

    1. Rat's
      @sand

      都可以上传。

  53. sand

    这个脚本有语法错误怎么办啊,aria2.log :
    /root/.aria2/upload.sh: 8: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 9: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 10: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 12: /root/.aria2/upload.sh: Syntax error: "(" unexpected
    已经用dos2unix 转过码了

    1. Rat's
      @sand

      你什么系统?换debian看看

      1. sand
        @Rat's

        就是debian的系统

        1. Rat's
          @sand

          确定都复制进去了?包括!/bin/bash。

          1. sand
            @Rat's

            可以了。之前明明复制了!/bin/bash ,粘贴到vim里面又没有了。

            1. Rat's
              @sand

              我就怀疑你没复制进去。

  54. 君少薄

    为什么到授权的步骤的时候把地址复制的浏览器就会弹出
    最可能的原因:
    指定的目录或文件在 Web 服务器上不存在。
    URL 拼写错误。
    某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。
    这个是什么问题呢,我反复试了几遍还是这样,不知道是不是运行脚本出现问题,打上去没什么反应然后就弹回来输入命令是的界面了

    1. Rat's
      @君少薄

      运行的时候是没什么反应的,你换谷歌浏览器看看

      1. 君少薄
        @Rat's

        换了还是一样啊

        1. Rat's
          @君少薄

          这个就不清楚了,我这几天挂了好几次也没出现过

  55. Ark

    大佬上传一个文件夹的时候提示这个是什么情况呢 An error has occurred while uploading 'xxxxx' (Code: 415) 用的内置参数

    1. Rat's
      @Ark

      这个不太清楚,看是不是操作不对

  56. tcc
    该评论仅登录用户及评论双方可见
    1. Rat's
      @tcc

      使用的是自己申请的密匙还是脚本自带的?如果是申请的,换成自带的

      1. tcc
        @Rat's

        是自己申请的 我再试试自带的

        1. Rat's
          @tcc

          自带的应该没这个问题

  57. xiao

    自动上传没搞定啊。手动的没问题
    自动的没反应,脚本是从Windows复制过去的,然后我也用dos2unix转换过 上传的脚本。。。还是没办法。ARIA2下载完什么都没反应。

    1. Rat's
      @xiao

      自动没搞定的话那就没法了。

  58. meng

    大佬我上传时提示Could not create folder 'in 'root' 是什么情况导致的?

    1. Rat's
      @meng

      用的自己申请的客户端密匙?

      1. meng
        @Rat's

        不是,用的是提供的密钥,后来我试过用一键脚本结果还是一样的显示

        1. Rat's
          @meng

          手动上传的么?用的什么命令

  59. ontzero

    大佬,我想利用onedrive-d '/root' 这个命令实现定时上传 '/root' 目录该怎么做?我试了直接在cron里添加/1 * onedrive-d 'root'并重启cron但是好像没效果,该如何实现?

    1. Rat's
      @ontzero

      把上传什么命令编辑到脚本,然后定时运行脚本看看。

      1. ontzero
        @Rat's

        大佬,成功了,感谢。但是这个命令会一直上传文件,哪怕已经上传到了onedrive中了。所以如何可以不重复上传已上传的文件和正在上传的文件呢?

        1. Rat's
          @ontzero

          我记得我发过onedrive同步的工具,只有在文件夹有变动的情况下才上传到onedrive进行同步,你可以找下

  60. miao

    某些上传某些文件夹提示/root/rcloneupload.sh: eval: line 51: unexpected EOF while looking for matching `''
    /root/rcloneupload.sh: eval: line 52: syntax error: unexpected end of file
    如:YMDRFate stay night Heaven's Feel I.presage flowerI. 預示之花AVCBIG5[繁中]

    1. miao
      @miao

      YMDRFate stay night Heaven's Feel I.presage flowerI. 預示之花AVCBIG5[繁中]

      1. Rat's
        @miao

        你这问题怎么在好几个文章都出现了,错误里显示有语法错误,看是不是直接在电脑上用记事本编辑的,转个格式再看看。

        1. miao
          @Rat's

          原来是萌咖大佬的脚本问题,我直接用命令也无法上传 没报错就显示一个>
          谢谢大佬解答

        2. miao
          @Rat's

          用的vi 建的脚本还是提示这两行错误

        3. miao
          @Rat's

          转了格式,谷歌网盘的自动上传脚本遇到的问题结局不了就用了这个,转了格式,绝大多数文件可以上传 就这个不行

          1. Rat's
            @miao

            好像脚本不支持[]这种格式

            1. miao
              @Rat's

              试了下是支持的,原来是单引号的锅

              1. Rat's
                @miao

                卧槽,仔细看还真是,还以为是格式问题,导致语法错误。

  61. Ark

    大佬有没有什么方法能把直链中的文件(其他vps开的nginx的目录浏览功能)直接上传到onedrive?谢谢~

    1. Rat's
      @Ark

      貌似只能下载后上传。

  62. 软肋

    手动可以上传 不自动上传

    1. Rat's
      @软肋

      检查下步骤,最后记得重启aria2

  63. ssdw

    下载成功后,调用上传脚本失败
    : not foundeupload.sh: 1: /root/rcloneupload.sh:
    : not foundeupload.sh: 2: /root/rcloneupload.sh:
    : not foundeupload.sh: 3: /root/rcloneupload.sh:
    : not foundeupload.sh: 4: /root/rcloneupload.sh:
    : not foundeupload.sh: 7: /root/rcloneupload.sh:
    /root/rcloneupload.sh: 12: /root/rcloneupload.sh: Syntax error: "(" unexpected (expecting "fi")

    1. ssdw
      @ssdw !/bin/bash 没复制进去
  64. Tony

    请问按照这个脚本内容,上传文件后,本地文件是否删除呢?

    1. Rat's
      @Tony

      本地文件自动删除

  65. xunn

    感谢分享这么好的教程,成功弄好了自动上传。
    有个问题请教:小鸡上安装BBR或者锐速,对Aiar2的下载和上传有没有帮助?

    1. Rat's
      @xunn

      还是有的。

  66. moe

    请问博主我用这个脚本上传速度怎么一会大一会变到零速度很不稳定

    1. moe
      @moe

      在宝塔里面看从8000多kb跳到0然后又跳到8000多

      1. Rat's
        @moe

        这很正常啊,你下载东西的时候,宝塔也会这样,一会很高,一会很低。

  67. csdjl88

    老哥好,我这几天用 OneDrive -a做授权的时候一直不成功,有的博主说商业版的API已经关闭了,是不是这样。 我的是教育版A1.

    "error":"invalid_client","error_description":"AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.rnTrace ID: ce8661eb-bd76-406e-a230-f7b8d2625900rnCorrelation ID: 42e420e5-7742-46c5-bf43-958a569e1aadrnTimestamp: 2019-01-07 09:41:52Z","error_codes":[70002,50012],"timestamp":"2019-01-07 09:41:52Z","trace_id":"ce8661eb-bd76-406e-a230-f7b8d2625900","correlation_id":"42e420e5-7742-46c5-bf43-958a569e1aad"

    1. Rat's
      @csdjl88

      一般API是不会关闭吧,最多限制一下,或者是账号出问题了,这也只是猜测。

      1. csdjl88
        @Rat's

        加你微信了,有空问你一下下。下午那个问题解决了。就是上传的时候报错 An error has occurred while uploading '/Share/QQ9.0.8_3.exe' (Code: 000)

        1. Rat's
          @csdjl88

          这个好像是用的自己申请的配置出现的情况?

          1. csdjl88
            @Rat's

            昨天折腾了下,aria2那部分的下载可以了。OneDrive的手动上传都可以了,就是太慢了。现在的问题是下载完成后运行上传脚本。没有上传操作。不知道是没有运行还是运行失败。这个方案速度有点感人啊。不知道是不是我VPS配置不行。

            1. Rat's
              @csdjl88

              速度可以改下线程数的。

  68. nop

    博主你好
    我有台15G存储空间的vps,我本来是想测试下按顺序下载多个文件,若总的文件大小超过15G是否会将下载好的上传再删除再继续下载,结果在15G满之前上传完成了一个几十M的后,在满15G后前面下载完成的也没有上传。现在我把所有下载文件取消删除后再用aria2下载也不能上传了,这个问题怎么解决。

    1. Rat's
      @nop

      计量是按照单个下载任务来算的,一般只要完全下载完,而不是卡在做种阶段,一般都会自动上传,你的问题还是看看Aria2运行日志吧。

  69. 空灵心梦

    我发现这个脚本如果下载的是一个文件夹会直接上传失败……我用的是vultr的vps,系统是Debian 8 x64 (jessie)。是系统的问题吗……

    1. 空灵心梦
      @空灵心梦

      重新建了一个.sh文件不知为啥就都一切正常了,谢谢大佬的解答拉

  70. 空灵心梦

    我发现删掉代码里判断是否传完的那个语句之后比较大的文件会上传失败……应该是没传完就被删掉了……不删掉那段代码又会有vps文件不会自动删除的问题……求大佬完善下这一小块的代码

    1. Rat's
      @空灵心梦

      判断的目的就是不想上传失败后,连文件都被删了。你说的文件不会自动删除,我这没遇到啊。

  71. 空灵心梦

    不知道为啥上传成功之后不会自动删除vps里的文件,我把那个判定条件给删掉了就可以了,不知道会不会有什么影响……

    1. Rat's
      @空灵心梦

      不影响,只是上传失败也会删。

  72. null

    你好 请问你知道这是什么问题吗
    上传的时候出现 Could not retrieve an upload session for 'WMSUB926[1080P].mp4' in ''
    账号已经认证成功了
    谢谢!

    1. Rat's
      @null

      有没有试过多传一次看看?

  73. 小明

    博主请问一下,设置好后,下载一些小文件,如一张图片,一个软件,就可以自动上传到网盘,但是电影都不行,BT 下载完后,里面的图片已经 TXT 文档之类可以上传成功,但是电影本身就不行。于是我用手动上传,却可以。百思不得其解,不知博主可知什么原因?

    1. Rat's
      @小明

      这个问题是挺奇怪,不过具体情况未知,自动上传的时候,Aria2日志看了没?

  74. 灯火阑珊

    点击左侧菜单栏中的Azure Active Directorg 提示我无权限访问此页面

    1. Rat's
      @灯火阑珊

      说明权限不够吧。

  75. Xen

    不知道是上传的问题还是Aria 2下载的问题,onindex里的电影总是缺几秒,碰到就卡住不能播放了,在线或是下载下来都这样,所以怀疑可能是上传或者Aria 2的问题?

    1. Xen
      @Xen

      可能是我把上传的线程数改成了5,我改回来试试

      1. Rat's
        @Xen

        这个多折腾下。

        1. Xen
          @Rat's

          试了试确实线程5有点高了 上传容易出问题 改到3正常

          1. Rat's
            @Xen

            改线程方法之前没提就是怕别个瞎改出问题。

  76. pipi

    运行命令onedrive -a,登陆账号时出错:
    Sorry, but we’re having trouble signing you in.
    AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'.

    1. Rat's
      @pipi

      用的非个人版?用的内置应用参数?复制进去的地址是包括localhost的整个地址?基本上注意这三个就没多大问题。

      1. pipi
        @Rat's

        商务版,用的是自己设置的参数,按照你的文章和萌咖的文章设置了好几次都不行

        1. Rat's
          @pipi

          那就不清楚了,可能该脚本不适合你当前的onedrive

  77. zard

    请问有什么能查看上传状态的方法吗?5GB的文件传了一下午没传上去,但是我看文件名和之前成功上传的没什么区别,试了下手动上传能看到百分比

    1. Rat's
      @zard

      你把线程数改高点看看。

  78. ooo
    onedrive '/root/1.txt'

    An error has occurred while uploading '/root/1.txt' (Code: 000)

    onedrive -l

    什么也没显示
    重装了3遍,应该都不行
    环境是宝塔lnmp

    1. Rat's
      @ooo

      用的默认的参数?

      1. ooo
        @Rat's

        自己的参数

        1. Rat's
          @ooo

          用默认的,自己的参数容易出问题,所以我才内置了一个可用参数。

          1. ooo
            @Rat's

            已解决。Thinks

  79. 扬帆大海

    奇怪了,为什么下载后不自动上传呢。
    也复制了脚本,也chmod +x了,配置也写了,aria2也重启了。。
    目前表现是,文件下完后,也进已完成了,文件还在不自动删除,也不上传。

    1. Rat's
      @扬帆大海

      手动可以上传么?顺便看看Aria2日志。

      1. 扬帆大海
        @Rat's

        我还在rcloneupload.sh,第一行插入了其他命令语句,我发现下载完成后rcloneupload.sh确实已经被运行了,我插入的命令也执行了,但是到“#!/bin/bash”这里就GG了、如果删了#!/bin/bash,那就是提示一堆错误

      2. 扬帆大海
        @Rat's

        上传脚本文件是在的,chmod +x /root/rcloneupload.sh也运行了,权限也给了。。

      3. 扬帆大海
        @Rat's

        奇怪的就是,OneDrive命令手动是可以用的,一切正常。
        aria2日志的提示是【Could not execute user command: /root/rcloneupload.sh: No such file or directory】
        我手动运行/root/rcloneupload.sh他会提示【/bin/bash^M: 解释器错误: 没有那个文件或目录】

        1. Rat's
          @扬帆大海

          好像是格式问题,你是在电脑上编辑的脚本?看下这个教程,然后自己处理下,https://www.moerats.com/archives/225/。

          1. 扬帆大海
            @Rat's

            好啦,谢谢解答,辛苦了

  80. rua!

    上传的目录带有空格时只会上传至空格之前的目录,如设置上传至"From VPS"则会上传至“From”

    1. Rat's
      @rua!

      用双引号,比如 "From VPS"

  81. 寂寞烟斗
    onedrive '/www/wwwroot/master.zip'

    显示An error has occurred while uploading '/www/wwwroot/master.zip' (Code: 000)

    1. Rat's
      @寂寞烟斗

      用的是内置的应用参数?或者你去/www/wwwroot文件夹上传试试

  82. Jon

    怎么没法正常上传的呢,已经修改权限,重启aria2

    1. Rat's
      @Jon

      你手动上传试试,如果可以传,那自动一般是没给脚本授权或者没有重启Aria2

  83. 咕咕咕

    大佬请问,这个onedrive脚本装完后直接改aria2的自动上传代码就好了嘛?我现在aria2下载的文件在vps能看到,但是没有上传到onedrive里啊,需要改什么把他们整合在一起吗?

    1. Rat's
      @咕咕咕

      加可执行权限,重启Aria2。

  84. qwer121

    onedrive.cfg 这个文件在哪里呢?

    1. qwer121
      @qwer121

      额。看到了。。
      但是修改之后需要重新启动下吗?

      1. Rat's
        @qwer121

        不需要,不过重启下也没多大关系。

  85. qwer121

    上传速度比较慢如何解决?如何多线程上传呢?

    1. Rat's
      @qwer121

      找到onedrive.cfg,修改threads线程数,默认2。

  86. 咕咕咕

    onedrive -a,将返回的网址复制到浏览器打开后,出现localhostlocalhost 拒绝了我们的连接请求。这怎么破啊

    1. Rat's
      @咕咕咕

      正常,你只需要把地址栏链接复制到ssh客户端就行了。

      1. 使魔大人
        @Rat's

        你好,我发现软件给我的连接后缀是local的连接,和您上文中结尾的网址不同,打开软件给的软件会出现打不开链接的问题

        1. Rat's
          @使魔大人

          脚本修改过,现在是出现的localhost地址,是正常的,复制到ssh客户端就行了。

          1. 使魔大人
            @Rat's

            可以了,谢谢

  87. 咕咕咕

    大佬请问为什么上传出现An error has occurred while uploading '/root/aria2.sh' (Code: 000)啊......随便上传测试一下结果不能用啊

    1. Rat's
      @咕咕咕

      要么api抽风,要么你配置有点问题,你重新配置下试试

  88. ZLOE

    怎么回事?
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)

    1. Rat's
      @ZLOE

      ubuntu吗?这个问题你要是能换系统的话,就建议你换系统重来。

      1. ZLOE
        @Rat's

        可怕呀 我的两个网站都因为弄这个蹦了 搞了一天才恢复 这个也成功上车 感谢老哥

  89. vps快报

    好文-转载到我的网站先

    1. Rat's
      @vps快报

      好的,留出处就行了。

  90. ldy

    希望个人版也可以使用

    1. Rat's
      @ldy

      那就看微软了,不过一般不可能。

  91. kbrx93

    怎么总是 something went wrong 用的内置参数。之前成功过,现在同样步骤,换账号也没用, api 抽风了?

    1. mo
      @kbrx93

      返回链接后不能先敲回车,填完再敲

    2. Rat's
      @kbrx93

      微软抽风了。

  92. Jacob

    可以更换绑定的Onedrive账号吗?装了

    1. Rat's
      @Jacob

      这个我倒没试过,按理说可以换,你直接删掉/usr/local/etc/OneDrive文件夹。然后安装脚本再绑定吧。

      1. 扬帆大海
        @Rat's

        我测试是重新OneDrive-a一次就行,就绑定新的了

  93. kenshin

    如果只是要上传OD什么方法最好?我系统debian9

    1. Rat's
      @kenshin

      目前来说,我觉得这个最好,rclone会掉文件,还有其它上传或多或少总会有点小问题。

  94. anadano

    不想上传完自动删除的话,直接注释掉rm -rf那一行可以吗

    1. anadano
      @anadano

      试了一下,要注释掉
      if [[ $? == '0' ]]; then

      rm -rf "$FileLoad";

      fi
      整个块

      1. Rat's
        @anadano

        你很聪明。

        1. anadano
          @Rat's

          hhh,还有如果用filerun之类的程序管理服务器本地的文件的话,建议把这句改成chmod -R 777 "$FileLoad";否则php没有权限删除root用户运行的aria2创建的文件,这样改还有一个好处,上传完成之前filerun没有权限删除文件,避免出错,当然直接改整个下载目录的权限也OK。另外aria2必须要用root权限运行,我之前为了让php管理文件,是用www用户运行的aria2,结果脚本调用onedrive的时候会出错...这坑跳的.

          其他和脚本无关的坑
          lnmp脚本安装的php需要改nginx配置才能跨目录访问服务器文件
          oneindex好安装个xx,查了好多教程都说把文件上传就完,文档又没有,我还是参照https://github.com/WangNingkai/OLAINDEX的文档改了php配置才能运行的
          还有就是CentOS7不要用逗比的aria2脚本,会直接没法运行,自己yum装一个手动配置吧

          1. Rat's
            @anadano

            码这么多字辛苦了,应该有人会看到,感觉你踩了不少的坑。

            1. anadano
              @Rat's

              多谢博主和萌咖大佬
              我以前就是遇到问题就去翻评论,要是有人和我踩一个坑就知道怎么办了

              1. Rat's
                @anadano

                多看评论可以避免踩很多坑,以后希望大佬多在我教程下提些建议,可以让更白的小白避免踩坑。

                1. anadano
                  @Rat's

                  你才是大佬,我是小小白

                  话说我昨天下了一个20g的资源,今天下了一个90g的资源,这两个都没有上传
                  就是整个文件夹虽然大,但文件多,每个都没有超过15g的
                  我看了下出现了
                  12/01 22:00:22 [NOTICE] Your share ratio was 0.6, uploaded/downloaded=56GiB/98GiB
                  /home/downloads/漫威宇宙10周年纪念2008-20181080P特效中英双字/BT@烧包-一个致力于分享精品影视的种子网站.url too large to spik.
                  这是最后几行
                  是不是判断文件大小的时候有什么问题啊

                  还有就是大佬知道手动上传文件夹的命令怎么用吗
                  上传文件夹c,c下面有一个c.txt
                  onedrive -f c
                  然后错误信息是
                  Please specify at least one file to upload
                  onedrive命令直接上传一个文件倒是没问题
                  是不是我写错了

                  1. Rat's
                    @anadano

                    判断的是下载的整个文件夹的,所以貌似你超过了15G,不过你可以去掉大小判断;后面的问题你加个路径看看,比如c/,或者/../c。

                    1. anadano
                      @Rat's

                      原来是onedrive-d floder

                      我的天这和文档写的不一样啊

                      还有命令是onedrive-d,中间没有空格...
                      一时间嗦不出话

                      1. Rat's
                        @anadano

                        没有空格,以我示范的教程为准,如果你不明白的话看看脚本文件就清楚了。

                        1. anadano
                          @Rat's

                          嗯嗯,试了一下已经成功了
                          多谢大佬

                    2. anadano
                      @Rat's

                      哦哦,那我直接在那个大小限制的数字后面加个0吧,删代码还怕出问题
                      但是那个命令我都试了,还是提示
                      Please specify at least one file to upload
                      我一会去萌咖大佬博客底下找找看

  95. kenshin

    手动上传,只能上传一点
    /usr/local/bin/onedrive-d: eval: line 45: syntax error near unexpected token )' /usr/local/bin/onedrive-d: eval: line 45: /usr/local/etc/OneDrive/onedrive -f 'downloads/24/apps/baidu_shurufa/1/Alan Walker - Faded' '07 Faded (Tiesto's Deep House Remix).flac''

    1. Rat's
      @kenshin

      这个问题还是建议换系统吧。

      1. kenshin
        @Rat's

        那怎么删除?不想换系统

        1. Rat's
          @kenshin

          rm -rf /usr/local/etc/OneDrive

  96. 小弟

    [root@izwz9a7gtmwgnxzoj6j3h7z admin]# wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash
    [root@izwz9a7gtmwgnxzoj6j3h7z admin]# onedrive -abash: onedrive: command not found

    大佬 我这是什么原因呢 能帮帮我吗

    1. Rat's
      @小弟

      我猜你是遇到楼下所说的问题了,你找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码,再保存就行了。

      1. 小弟
        @Rat's

        [admin@izwz9a7gtmwgnxzoj6j3h7z ~]$ onedrive -a

        Please open the following URL in your browser and follow the steps until you see a blank page:
        https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login

        When ready, please enter the value of the code parameter (from the URL you have been redirected) and press return
        *3wvdXdIAA
        /usr/local/etc/OneDrive/json-parser: line 188: cannot create temp file for here-document: No space left on device

        Something went wrong, here is the API response:
        *"}

        1. Rat's
          @小弟

          你的评论太长,给你缩短了,你使用df -h看看,硬盘是不是爆满了。

          1. 小弟
            @Rat's

            [admin@izwz9a7gtmwgnxzoj6j3h7z data]$ onedrive-d '444.txt'

            It does not seem to be authorized.

            Please open the following URL in your browser and follow the steps until you see a blank page:
            /usr/local/etc/OneDrive/onedrive-base: line 272: /usr/local/etc/OneDrive/.refresh_token.2607: Permission denied
            rm: cannot remove ‘/usr/local/etc/OneDrive/.refresh_token.2607’: No such file or directory

            It seems like we have a refresh token, so we are ready to go.

            大佬 都走了一遍 如何现在在上传文件 显示这个 文件也没上传

            1. Rat's
              @小弟

              这个貌似是权限不够,该问题还没遇到过,所以我也不是很清楚。

              1. 小弟
                @Rat's

                我设置了aria2的文件夹里的文件会被自动删除 但是没有上传到onedrive上(我现在也不知道它们跑哪里去了)

                如果切换成root的话[admin@izwz9a7gtmwgnxzoj6j3h7z data]$ sudo su root
                [root@izwz9a7gtmwgnxzoj6j3h7z data]# onedrive-d '444.txt'

                bash: onedrive-d: command not found
                [root@izwz9a7gtmwgnxzoj6j3h7z data]#
                又显示这个了 我也用root用户去
                找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码 再添加了这个
                但是
                [root@izwz9a7gtmwgnxzoj6j3h7z data]# onedrive-d '444.txt'
                bash: onedrive-d: command not found
                也是这样的的不行的话我重装系统再来一遍把

                1. Rat's
                  @小弟

                  换debian 9系统

      2. 小弟
        @Rat's

        我试试哈 谢谢大佬

  97. Nicky

    评论好多,我就没翻了,建议在脚本中最后加一条命令:export PATH=/usr/local/bin:$PATH 因为我发现好像有部分VPS中没有把/usr/local/bin加入到PATH目录中,而这个脚本就是在这个目录运行的

    1. Rat's
      @Nicky

      这问题貌似在CentOS系统会出现,我在后面说明下,然后让人手动添加吧。

  98. Chauncey

    大佬 你好 请问如何修改上传到onedrive的位置?我看教程中是上传到根目录,并没有说明如何到指定文件夹,这个可以实现吗?谢谢!

    1. Rat's
      @Chauncey

      可以,但上传的文件夹命名规则必须安装微软的要求来,所以说很蛋疼,你要是真想折腾,我就告诉你。

      1. Chauncey
        @Rat's

        对了大佬 是否可以完成上传后实现自动删除功能?要不VPS存储吃不消啊。。。

        1. Rat's
          @Chauncey

          Aria2上传脚本可以自动删除。

      2. Chauncey
        @Rat's

        麻烦大佬告知一下!谢谢!

        1. Rat's
          @Chauncey

          修改/usr/local/etc/OneDrive/onedrive.cfg配置文件,修改export api_root_folder参数,root是根目录,如果上传到文档目录,就改成export api_root_folder="special/documents",特殊文件夹名称参考这个https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/api/drive_get_specialfolder。

          1. Chauncey
            @Rat's

            抱歉。。疏忽了。。找到了!

          2. Chauncey
            @Rat's

            大佬,请问这个参数export api_root_folder是需要新建吗?没找到呢

  99. 雁陎

    博主,请问世纪互联版的该如何操作呢

    1. Rat's
      @雁陎

      没用过世纪互联的,暂不清楚。

  100. 大雄

    API的方法稳还是第二种?第二种是要用rclone挂载吧

    1. Rat's
      @大雄

      这个最稳。

      1. 大雄
        @Rat's

        原来是一个整体方案啊,我太笨了。我用这个方法确实特殊的字符也能上传了,但速度只有2-3m/s,重启试了一次也一样,换成oneindex上传就可以飙到35m/s,这是被限制了?

        1. Rat's
          @大雄

          可以改onedrive.cfg配置文件,调整线程数,参数是threads,默认2线程。

  101. pink

    请问max-overall-upload-limit的参数会影响Aria2上传文件到onedrive时的速度吗?

    1. Rat's
      @pink

      影响不大,主要看你的服务器性能。想要快可以编辑/usr/local/etc/OneDrive/onedrive.cfg,修改threads线程数,默认2。

  102. 小曹

    可以了,换成默认的参数,虽然登录以后打不开网页,但是复制到ssh就可以了。

    1. Rat's
      @小曹

      网页打不开是正常的,你只需要复制浏览器地址就行了。

  103. 小曹

    AADSTS700016: Application with identifier 'f5d64b03-038a-4949-ad77-8f5' was not found in the directory 'ae474f59-7946-4b9b-95f7-**4a0e'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant 确认过应用程序id没问题,但是运行以后打开网页登录就提示这个,是不是帐号本身有问题?

    1. Rat's
      @小曹

      默认的api是没问题的,你多试几次。

      1. 小曹
        @Rat's

        就是说多打开几次这个连接么。。

        1. Rat's
          @小曹

          多认证几次,清空下缓存。

          1. 小曹
            @Rat's

            换了个账号成功了,但是上传的时候失败···
            上传文件夹显示“Could not create folder 'root' in 'root'”
            上传文件显示“An error has occurred while uploading 'ZBench-CN.sh' (Code: 000)”

            1. 小曹
              @小曹

              用默认的参数会打不开网页。。

  104. chem

    请问带空格的文件夹中还有带空格的文件,这样的能上传吗

    1. Rat's
      @chem

      可以,我试过带十几个空格的,一样能自动上传。

  105. Lexo

    谢谢博主

  106. chem

    脚本怎么更新呀,重新安装吗

    1. Rat's
      @chem

      可以重新安装,也可以重新去Github下载onedrive-d脚本,替换下就可以了,脚本目录/usr/local/etc/OneDrive

  107. hbin

    用脚本文件夹依旧不能上传啊,试了很多次了。连手动上传文件夹都不行,执行后会出现这提示
    ./onedrive -f '/usr/local/caddy/www/aria2/Download/哥布林'
    Please specify at least one file to upload

    1. Rat's
      @hbin

      你把目录层数减少点看看。

      1. hbin
        @Rat's

        不行,都是这样的提示;单文件没问题,就文件夹不行
        我下载好的bt文件夹名称是这样的
        [Sakurato.sub]Goblin Slayer07[720P]

        1. Rat's
          @hbin

          手动上传命令更新了,你用onedrive-d '/root'试试,后面为文件夹,前面命令之间无空格。

          1. hbin
            @Rat's

            这样可以了耶
            不知道能不能应用在脚本上呢?

            1. Rat's
              @hbin

              脚本早就用的这个命令,只是文章里的手动没更新过来。

              1. hbin
                @Rat's

                那我见鬼了?!!

                1. Rat's
                  @hbin

                  原因查出来了,已修复Onedrive脚本,记得重新安装下。

                  1. hbin
                    @Rat's

                    已经能正常上传文件夹了,感谢博主和大佬

                  2. hbin
                    @Rat's

                    好的,

  108. jvc2020

    大佬 设置后不会上传 日志显示

    [#c6ba2f 0B/0B CN:1 DL:0B]

    FILE: http://pic1.win4000.com/wallpaper/2018-11-06/5be123c5133f8.jpg

    [#c6ba2f 0B/0B CN:1 DL:0B]
    [#c6ba2f 0B/1.1MiB(0%) CN:1 DL:59KiB ETA:19s]
    [#c6ba2f 128KiB/1.1MiB(10%) CN:1 DL:111KiB ETA:9s]
    [#c6ba2f 272KiB/1.1MiB(22%) CN:1 DL:126KiB ETA:7s]
    [#c6ba2f 464KiB/1.1MiB(38%) CN:1 DL:144KiB ETA:5s]
    [#c6ba2f 656KiB/1.1MiB(54%) CN:1 DL:157KiB ETA:3s]
    [#c6ba2f 864KiB/1.1MiB(72%) CN:1 DL:165KiB ETA:1s]
    [#c6ba2f 1.1MiB/1.1MiB(99%) CN:1 DL:190KiB]

    11/16 11:26:56 [NOTICE] Download complete: /root/Download/5be123c5133f8.jpg
    Could not execute user command: /root/.aria2/autoupload.sh: No such file or directory

    11/16 11:27:06 [NOTICE] Serialized session to '/root/.aria2/aria2.session' successfully.

    还有个问题
    手动上传 单文件能上传,输入命令行 上传文件夹里的文件 onedrive -f /root/moerats.txt 文件没传过来 直接在OneDrive里新建了root moerats.txt 两个目录

    1. Rat's
      @jvc2020

      第一个问题显示脚本不存在,看你填的路径对不对;至于第二个问题是之前用的修改的脚本,现在又用了原版,但文中的命令没更新过来,所以。

      1. jvc2020
        @Rat's

        chmod +x /root/.aria2/autoupload.sh
        echo "on-download-complete=/root/.aria2/autoupload.sh" >>/root/.aria2/aria2.conf

        重启Aria2

        service aria2 restart
        最后还是显示Could not execute user command: /root/.aria2/autoupload.sh: No such file or directory

        1. Rat's
          @jvc2020

          有没有新建那个上传脚本?在/root/.aria2文件夹

          1. jvc2020
            @Rat's

            有新建autoupload.sh,放在/root/.aria2文件夹里的

            1. Rat's
              @jvc2020

              那就不清楚了,你这个错误提示文件不存在。

  109. xenon

    小白想问下加了这个脚本就能自动上传了吗?还是说要算上文章结尾的代码才可以自动

    1. Rat's
      @xenon

      首先需要安装这个脚本,配置好,然后再用Aria2结合下面的自动上传脚本才能自动上传。

  110. 9527

    博主,手动可以上传,能不能和这个网址一起用
    https://www.moerats.com/archives/700/
    有没有什么顺序步骤会不会把之前的覆盖掉,那个上传脚本文件取名有没有要求 autoupload.sh和oneindexup.sh都可以吗

    1. Rat's
      @9527

      可以一起用,文件取名和存放目录都无所谓,你只要在aria2配置文件填写参数的时候,后面文件的路径要填对还有名称,比如你放在/hone文件夹,文件名为xx.sh,那你在aria2里填的就是on-download-complete=/home/xx.sh

  111. 王七

    这个脚本有些上传不了,什么时候升级?可不可以指定后缀名来过滤掉一些不想上传的文件?

    1. Rat's
      @王七

      这个排查核心脚本工作量很大,看萌咔大佬啥时候抽空搞完吧,估计快了。至于你提的,只能待定,目前主要先解决上传问题。

  112. chem

    大佬这个脚本还是存在文件夹名字有空格的情况下无法上传啊

    1. amtih
      @chem

      感觉除掉空格也不行

    2. Rat's
      @chem

      好的,萌咔大佬正在排查核心上传脚本的问题,近期升级。

      1. hbin
        @Rat's

        文件夾不能上傳的問題是解決了嗎?我今天下文件夾的bt還是沒進行上傳

        1. Rat's
          @hbin

          现在已经解决了,核心脚本判断空格的时候有点问题。

  113. 嘿嘿嘿!

    11/10 20:22:34 [NOTICE] Seeding is over.
    [#96079d SEED(0.0) CN:9 SD:3]

    11/10 20:22:34 [NOTICE] Download complete: /root/Download/猪猪字幕组860[MP4]

    11/10 20:22:34 [NOTICE] Your share ratio was 0.0, uploaded/downloaded=0B/258MiB
    Invalid item.

    老大帮看看是什么问题?bt下载完成上传显示无效项目?

    1. 嘿嘿嘿!
      @嘿嘿嘿!

      单文件下载完以后上传没问题,就bt下载带文件夹上传不了

      1. Rat's
        @嘿嘿嘿!

        文件夹名称是什么?说具体点才好检测

      2. Rat's
        @嘿嘿嘿!

        常规的文件夹应该没问题,近期会升级一下脚本。

  114. chen

    大佬这个脚本好像还是存在中文文件夹名中间有空格的情况下无法上传的问题

    1. Rat's
      @chen

      已解决。

  115. 文骞

    服务器重启后,上传文件显示No refresh token received from API. Please try again or re-authorize.
    从新授权后之前没上传完的还会继续上传吗?

    1. Rat's
      @文骞

      貌似不会,重启命令会断开。

  116. tywg

    使用./onedrive -f /root/*.txt上传,总是有一个文件不能上传

    1. Rat's
      @tywg

      不能上传的直接用全名传吧。

  117. kinavalon

    大佬,我用这个脚本,下载的是单个文件的时候能自动上传,但是下载的带文件夹的话,不管文件夹里面有几个文件,都不会自动上传

    1. Rat's
      @kinavalon

      文件夹名称有不有特殊符号?一般我测试是没问题的。

      1. kinavalon
        @Rat's

        测试了一下,下载了一个不带特殊符号的,还是不能自动上传

        1. Rat's
          @kinavalon

          这个就不清楚了,你看下aria2日志?

          1. kinavalon
            @Rat's

            看了,上传成功的会留下记录,upload xxx as xxxxx,但是没有上传的也找不到upload的记录

            1. Rat's
              @kinavalon

              那就不知道了。

      2. kinavalon
        @Rat's

        [ ]这个算么? 大部分都是带日文和这个

  118. idm

    今晚再次尝试,终于可以了,一切正常,非常感谢大佬的脚本,终于实现文件夹上传了。Google大法好!

    1. Rat's
      @idm

      解决好就行。

  119. idm

    大佬,我用的是这个https://github.com/weiyidu/OneDrive/blob/master/autoupload.sh,但是onedrive是按照你教程搞的

    1. Rat's
      @idm

      你发的这个根源是同一个,但是是修改我这个脚本的,所以上传脚本不兼容。

      1. idm
        @Rat's

        我是按照你的教程搞的one drive,为什么用不了你的脚本,我后来网上找的这个才会自动上传

        1. Rat's
          @idm

          我理解错了,我是可以用的。不知道你为啥用不了。

          1. idm
            @Rat's

            大佬可以帮我看看吗?我需要上传文件夹的功能

  120. 伊尹

    怎么把下载好的整个文件夹上传啊

    1. Rat's
      @伊尹

      这个上传脚本是可以上传文件夹的。

      1. 伊尹
        @Rat's

        我发现BT种子下载的文件夹带空格的话,就会上传失败但是会把下载的文件夹删除。

        1. Rat's
          @伊尹

          好的,明天修复该问题。

  121. idm

    大佬,脚本搞好了不会自动上传是怎么回事,用别的脚本都是正常,求大佬帮帮我

    1. Rat's
      @idm

      授权,重启aria 2都做了没?

      1. idm
        @Rat's

        都搞了,用别人的上传脚本都是OK的

        1. Rat's
          @idm

          别人的?话说这个上传脚本只适合这个文章,也就是说只能和这个文章的onefrive脚本一起用。

          1. idm
            @Rat's

            大佬方便加我QQ吗?帮我看看740120075

  122. 信仰

    这次修复是不是只要只要更新上传代码?

    1. Rat's
      @信仰

      onedrive脚本也要重新来,和之前不一样。

      1. yang
        @Rat's

        想问一下。同样的路径的相同文件可以做判断不重复上传吗?现在发现一个文件夹中上传的话,相同的文件还会重新上传一遍。有没有可能重复文件就跳过呢?

        1. Rat's
          @yang

          上传命令运行一次后,直接删掉文件夹?

          1. yang
            @Rat's

            我的意思是vps和onedrive相同路径下的文件重复上传到话。可以跳过吗?比如vps 有 a/b/test.txt文件。onedrive也有相同的a/b/test.txt。能不能在上传到时候已存在的文件可以跳过,不需要再重新上传一次。

            1. Rat's
              @yang

              这个没办法,上传命令只运行了一次,会不会是一个文件下了几次?

  123. 信仰
    Download Progress Summary as of Tue Oct 30 12:11:19 2018

    [#9d2c64 0B/9.7MiB(0%) CN:1 DL:0B]

    FILE: /usr/local/caddy/www/aria2/Download/WinSCP-5.13.4-Setup.exe

    [#9d2c64 0B/9.7MiB(0%) CN:1 DL:0B] [FileAlloc:#9d2c64 0B/9.7MiB(0%)]
    [#9d2c64 336KiB/9.7MiB(3%) CN:1 DL:333KiB ETA:28s]
    [#9d2c64 2.3MiB/9.7MiB(23%) CN:1 DL:1.1MiB ETA:6s]

    10/30 12:11:22 [NOTICE] Download complete: /usr/local/caddy/www/aria2/Download/WinSCP-5.13.4-Setup.exe
    Could not execute user command: /root/GDupload.sh: No such file or directory

    这上传错误啥意思?

    1. Rat's
      @信仰

      上传脚本不存在,或者没给root权限。

      1. 信仰
        @Rat's

        已解决,谢谢博主

  124. 1

    大佬。脚本是不是更新了。重新走了一遍流程安装了一遍,然后这次bt下载完后不会自动删除上传完的文件了。而且脚本好像和以前不一样了

    1. Rat's
      @1

      脚本和网上公开的的都不一样了,不过做了很多细节判断,刚刚改了下脚本参数,应该可以上传文件夹了?

  125. 幻想丶一下

    重新设置过后会删除了,应该是我操作不当的原因!感谢你的脚本!

    1. yang
      @幻想丶一下

      我刚刚测试也是删除不了文件,请问你是怎么设置的?

  126. 幻想丶一下

    你好,在用了29号更新的脚本后,下载完东西可以上传到oneindex,但是却不会自动删除VPS里的文件,请问是脚本的问题还是设置的问题?

    1. Rat's
      @幻想丶一下

      脚本应该是没问题的,只是强化了细节。

      1. yang
        @Rat's

        我是带有一层文件夹。可以正常上传。但是vps里文件没有删除。单个文件上传和删除正常。博主有遇到吗

        1. Rat's
          @yang

          已修改,你再试试文件夹能不能上传?

          1. yang
            @Rat's

            博主,刚刚测试。百度云下载一个文件,带一层文件夹。aria2下载完成之后,在下载目录中该文件是放在一个文件夹中的。文件夹和文件都能成功上传到onedrive,但是vps中aria2下载目录下,文件和文件夹都还在。没有删除掉。

            1. Rat's
              @yang

              你是用的我今天更新的脚本?这个理论上mv成功后,就会自动rm。

              1. 1
                @Rat's

                大佬,我也用的30号的脚本,和他的情况一样,种子,下好所有文件能上传,但是不会自动删除vps硬盘里的文件。

                1. Rat's
                  @1

                  脚本逻辑是没问题的,或者你把后面这行判断代码删掉if [[ $? == '0' ]]; then,就是不管上传成功与否,文件都给删掉。

  127. B.w

    大佬, 这个脚本下载单个文件上传onedrive没有问题, 用bt 下载的时候, onedrive里面没有文件, vps 里面下载完的文件也被删掉了. 这个应该是什么问题? 可以查log 吗? 需要去哪看log 呢?

    1. B.w
      @B.w

      补充下, 下载小文件没问题, 就是好像超过3g 的文件就上传不了?

      1. Rat's
        @B.w

        用的什么Aria2脚本?你可以查看Aria2日志

        1. B.w
          @Rat's

          就是教程里的逗比的aira2 脚本, aira2 日志应该要去哪里查看?

          1. Rat's
            @B.w

            这个运行一键脚本的时候善于观察,你直接运行他的脚本的时候,有查看日志选项。

            1. B.w
              @Rat's

              找到日志了. 貌似还没上传就被删掉了? 我现在把删文件那段注释掉再试试

              10/27 12:45:20 [NOTICE] Download complete: /download/屋顶探险家.Look.Up.2017.1080p.WEB-DL.X264.AAC.CHT-BTxiaba
              10/27 12:45:20 [NOTICE] Your share ratio was 2.3, uploaded/downloaded=4.3GiB/1.8GiB
              An error has occurred while uploading '/download/屋顶探险家.Look.Up.2017.1080p.WEB-DL.X264.AAC.CHT-BTxiaba' (File does not exist)

              1. B.w
                @B.w

                当BT下载只有一个文件夹,文件夹里只有一个文件,这个上传脚本就会出错了

                num=1
                path='/download/a/1.a'
                downloadpath='/download' #下载目录

                1. Rat's
                  @B.w

                  文章所有脚本已更新,你再看看。

                  1. B.w
                    @Rat's

                    自己改了下之前的脚本 现在上传没问题了,懒得再折腾了

                    1. Rat's
                      @B.w

                      可以试试现在这个脚本,加强版。

                      1. B.w
                        @Rat's

                        需要更新onedrive, 还是只需要换上传脚本就可以?
                        还有个问题, 输入框的狗年吉祥对手机很不友好, 把输入框都遮住了.

                        1. Rat's
                          @B.w

                          全部更新。

  128. nssanc

    [OK] SSL 证书生成脚本安装成功
    [Sun Oct 28 02:42:20 CST 2018] Standalone mode.
    [Sun Oct 28 02:42:21 CST 2018] Registering account
    [Sun Oct 28 02:42:22 CST 2018] Registered
    [Sun Oct 28 02:42:22 CST 2018] ACCOUNT_THUMBPRINT='RY4tuAQX0ce-xByOiRX4HSfPUw73QmqCRVa6-F00bV4'
    [Sun Oct 28 02:42:22 CST 2018] Creating domain key
    [Sun Oct 28 02:42:22 CST 2018] The domain key is here: /root/.acme.sh/120.78.80.232_ecc/120.78.80.232.key
    [Sun Oct 28 02:42:22 CST 2018] Single domain='120.78.80.232'
    [Sun Oct 28 02:42:22 CST 2018] Getting domain auth token for each domain
    [Sun Oct 28 02:42:22 CST 2018] Getting webroot for domain='120.78.80.232'
    [Sun Oct 28 02:42:22 CST 2018] Getting new-authz for domain='120.78.80.232'
    [Sun Oct 28 02:42:23 CST 2018] The new-authz request is ok.
    [Sun Oct 28 02:42:23 CST 2018] new-authz error: {"type":"urn:acme:error:malformed","detail":"Error creating new authz :: Issuance for IP addresses not supported","status": 400}
    [Sun Oct 28 02:42:23 CST 2018] Please add '--debug' or '--log' to check more details.
    [Sun Oct 28 02:42:23 CST 2018] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh
    [Error] SSL 证书生成失败
    大佬。这个怎么解决啊,阿里云的只有公网ip

    1. nssanc
      @nssanc

      Aria2+Aria2Ng+OneIndex一键安装脚本,下载后自动上传至OneDrive
      是这篇文章里的

      1. nssanc
        @nssanc

        看着提示不支持ip地址的能不能跳过这个ssl证书安装啊,谢谢大佬了

        1. Rat's
          @nssanc

          IP不支持签发SSL证书,可以跳过,但需要修改脚本,不过一个域名不贵啊,两三块钱一年。

          1. B.w
            @Rat's

            试了下 拿掉删除文件的部分还是出现同样的错误,好像是脚本把文件夹路径当成了文件上传,所以找不到文件?大佬能不能看下脚本会不会有这个问题?

            1. Rat's
              @B.w

              脚本全部更新了,你再看看?

  129. 小小

    按照步骤操作已经提示了It seems like we have a refresh token, so we are ready to go
    上传还报错
    [root@centos-s-1vcpu-1gb-blr1-01 OneDrive]# ./onedrive /root/moerats.txt

    An error has occurred while uploading '/root/moerats.txt' (Code: 000)

    1. Rat's
      @小小

      你测试上传的时候有moerats.txt这个文件?

      1. 小小
        @Rat's

        有的,上传其他文件也失败

        1. Rat's
          @小小

          这个问题,我只在这三个参数Client ID、Secret、Reply URL有误的情况下出现过,我提供的应该没啥问题,你先检查下,有空我自己测试下。

  130. cilone

    博主你好,能不能在自动上传脚本里添加个命令,上传完成后执行更新PyOne的缓存呢?应该怎么添加?

    1. Rat's
      @cilone

      添加到上传命令后面,比如/usr/local/etc/OneDrive/onedrive "$1"的下面一排。

  131. web

    大佬,如果做到上传文件夹自己文件夹里面的文件?

    1. Rat's
      @web

      什么意思。

      1. web
        @Rat's

        不好意思,有错别字。
        怎么做到上传文件夹以及文件夹里面的文件到OneDrive上面?

  132. 123

    大佬,我在装了 LEDE 的路由上上传文件失败,显示

    xargs: unrecognized option: P
    BusyBox v1.29.2 () multi-call binary.

    Usage: xargs [OPTIONS] [PROG ARGS]

    Run PROG on every item given by stdin

    -p Ask user whether to run each command -r Don't run command if input is empty -0 Input is separated by NUL characters -t Print the command on stderr before execution -e[STR] STR stops input processing -n N Pass no more than N args to PROG -s N Pass command line of no more than N bytes -x Exit if size is exceeded

    请问这是啥意思。

    1. Rat's
      @123

      这个问题不是很清楚。

      1. 123
        @Rat's

        解决了,把 onedrive 文件里的 -P${max_upload_threads} 删掉就行。

  133. wzb

    日志如下:
    10/11 16:48:43 [NOTICE] Download complete: /home/aria2/1/w7144.pdf
    An error has occurred while uploading '/home/aria2/1' (File does not exist)
    由于是小文件,还没来得及上传就被rm掉了有什么好的解决办法吗

    1. Rat's
      @wzb

      你可以编辑下脚本,把删除命令放在上传命令后面试试。

  134. wzb

    多任务下载的时候自动上传脚本会不会把正在下载的.aria2文件或者已经下好但是还没上传的文件rm掉...我最大同时下载数10,下载100个文件最终在onedrive上只有56个文件,而且还有些没下完的.aria2文件

    1. Rat's
      @wzb

      这个我还没怎么注意。

  135. jjc

    老板这个同时开多个上传吗

    1. Rat's
      @jjc

      应该可以,多开几个窗口试试。

  136. eq65we46qw4e5

    手动上传是没有问题的 脚本改了 路径 #!/bin/bash
    num="$2"
    path="$3"
    downloadpath='/aaa' #下载目录

    if [ $num -eq 0 ]

    then exit 0

    然后airia2 conf 里也写了

    bt-save-metadata=true

    on-download-complete=/root/autoupload.sh
    为什么就是不上传呢

    1. Rat's
      @eq65we46qw4e5

      有没有用root给可执行权限。

  137. eq65we46qw4e5

    这个需要RC 挂载么

    1. Rat's
      @eq65we46qw4e5

      不需要挂载,就是个上传脚本而已。

  138. eweqweqw

    复制这段新建 然后保存 修改路径 然后赋予权限然后重启 为什么不自动上传呢

    1. Rat's
      @eweqweqw

      aria2配置参数设置了没?

      1. eq65we46qw4e5
        @Rat's

        配置了 默认路径都是/aaa

  139. eweqweqw

    所以说 这个具体要怎么写呢 自动上传脚本....而且手动上传是根目录 OneIndex 读不到