当前位置:论坛首页 > Linux面板 > 讨论

【已完成】google云盘进行数据库备份不成功,提示如下信息

发表在 Linux面板2024-4-12 13:35  关闭 [复制链接] 3 73

|-正在上传到Google Drive,请稍候...Traceback (most recent call last):  File "/www/server/panel/script/backup.py", line 53, in <module>    backup.backupDatabaseAll(sys.argv[3], echo_id)  File "/www/server/panel/script/backup.py", line 33, in backupDatabaseAll    self.backup_database_all(save, echo_id=echo_id)  File "class/panelBackup.py", line 693, in backup_database_all    status, backup_path = self.backup_database(db_name, save, echo_id=echo_id)  File "class/panelBackup.py", line 784, in backup_database    upload_path = os.path.join(self._cloud_new.backup_path, "database", db_type, db_name, file_name)  File "/www/server/panel/pyenv/lib/python3.7/posixpath.py", line 80, in join    a = os.fspath(a)TypeError: expected str, bytes or os.PathLike object, not method
使用道具 举报 只看该作者 回复
发表于 2024-4-12 14:42:45 | 显示全部楼层
出现的这个错误 `TypeError: expected str, bytes or os.PathLike object, not method` 通常意味着 `os.path.join()` 函数中传递了一个非字符串(如函数或方法)对象。在你的错误日志中,问题出现在将备份路径组合时:

```python
upload_path = os.path.join(self._cloud_new.backup_path, "database", db_type, db_name, file_name)
```

错误提示表明 `self._cloud_new.backup_path` 很可能是一个方法(函数)而不是一个字符串或路径对象。你需要检查这个变量,确保它是一个属性(提供路径字符串),而不是一个没有被调用的方法。如果它是一个方法,需要确保你调用它(如加上括号 `()`)来获取路径字符串。这里是一个修正示例:

如果 `self._cloud_new.backup_path` 是一个方法,修正如下:
```python
upload_path = os.path.join(self._cloud_new.backup_path(), "database", db_type, db_name, file_name)
```

确保你调用此方法以获得正确的路径字符串。检查此部分,并调整代码确保所有传递给 `os.path.join()` 的参数都是字符串或者路径类型。
使用道具 举报 回复 支持 反对
发表于 2024-4-12 14:50:43 | 显示全部楼层
您好,尝试修复一下插件可以解决吗,或者修复一下面板
不行的话就私信我发送一下您的面板登录信息,私信完这里回复我
使用道具 举报 回复 支持 反对
发表于 2024-4-13 11:38:27 | 显示全部楼层
升级到8.1后,google网盘数据库备份正常了。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表