tickstep / aliyunpan

阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能。
Apache License 2.0
4.21k stars 354 forks source link

报错device session signature error #257

Open thfylsty opened 1 year ago

thfylsty commented 1 year ago

登录一段时间后执行任何命令都会报错 aliyunpan:/ Unknown$ ls device session signature error

影响同步服务,同步服务一段时间后就会停止

退出aliyun,然后重新打开程序就会恢复正常。

Centos,

请问大佬这是什么情况

thfylsty commented 1 year ago

不同步了没速度了就杀了重来。。。

#!/bin/bash

# 保存当前运行的 aliyun 程序的 PID
pid=

count=0
while true; do
  count=$((count + 1))

  # 使用 ifconfig 命令获取网络接口 eth0 的接收流量统计信息
  rx_bytes=$(ifconfig enp6s18 | awk '/RX packets/ {print $5}')

  # 等待 10 秒钟,然后再次获取网络接口的接收流量统计信息
  sleep 10
  new_rx_bytes=$(ifconfig enp6s18 | awk '/RX packets/ {print $5}')

  # 计算两次获取的接收流量差值,即 10 秒内的接收流量
  rx_speed=$((($new_rx_bytes - $rx_bytes) / 10))
  echo "nowspeed" $rx_speed >> log.txt
  # 判断当前带宽下行速度是否低于 2M/s
  if [ $rx_speed -lt 2000000 ]; then  
    echo "low than thread " 
    echo "low than thread " >> log.txt
    # 如果当前正在运行 aliyun 程序,则杀死它
    if [ -n "$pid" ]; then
      echo "Download speed is less than 2 MB/s, killing current aliyun process..."
      kill -9 $pid
      sleep 5
    fi

    # 启动 aliyun 程序,并保存它的 PID
    echo "Starting new aliyun process..."
    ./aliyunpan sync start -dp 4 -up 2 -dbs 2048 -ubs 2048 &
    pid=$!
  fi

  # 等待 30 分钟,然后再次检查带宽速度
  sleep 30m

  echo "########### Loop $count completed. ########### " `date`
  echo "########### Loop $count completed. ########### " `date` >> log.txt
done
xiaoyaofenfen commented 1 year ago

这个应该是签名过期了。有可能是同一个客户端device-id被多个应用同时用了

maxox commented 1 year ago

上传超过100GB大小的文件之后就会开始出现类似错误,分开多次上传后就没问题

tickstep commented 1 year ago

主要原因 1)签名过期了没有及时刷新,这个有定期刷新的机制,这种情况概率应该会很低 2)你有多个客户端用了同一个device_id,同时只能有一个客户端是有效的,其他的会报device session signature错误 做了些优化,下个版本合入

ITSweets commented 1 year ago

主要原因 1)签名过期了没有及时刷新,这个有定期刷新的机制,这种情况概率应该会很低 2)你有多个客户端用了同一个device_id,同时只能有一个客户端是有效的,其他的会报device session signature错误 做了些优化,下个版本合入

调用 https://api.aliyundrive.com/users/v1/users/device/renew_session 重新创建会话也会出现此错误。