TISUnion / QuickBackupM

A backup / restore plugin, with multiple backup slots
GNU General Public License v3.0
148 stars 20 forks source link

在tar,tar_gz,tar_xz备份模式下并未忽略ignored_files内的文件 #54

Closed HarukaB closed 9 months ago

HarukaB commented 1 year ago

环境:Windows 11,Ubuntu 22.04(Docker) MCDR版本:2.10.2 QuickBackupM版本:1.9.0 服务端版本:Fabric 0.14.21 with Minecraft 1.20.1 Python 3.10.8 复现过程:将备份文件的格式设为tar,tar_gz,tar_xz这三种模式的任意一种,然后在MCDR控制台内运行!!qb make,在Windows上会报出如下错误:

[MCDR] [21:13:20] [QBM - create/INFO]: [QBM] 备份中...请稍等
[Server] [21:13:20] [Server thread/INFO]: Automatic saving is now disabled
[Server] [21:13:20] [Server thread/INFO]: Saving the game (this may take a moment!)
[Server] [21:13:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[Server] [21:13:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[Server] [21:13:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[Server] [21:13:20] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[Server] [21:13:20] [Server thread/INFO]: Saved the game
[MCDR] [21:13:20] [QBM - create/INFO] [quick_backup_multi]: Slot 1 (None) is deleted to provide spaces for the incomingp
[MCDR] [21:13:20] [QBM - create/INFO] [quick_backup_multi]: storing ./server\world -> ./qb_multi\slot1\backup.tar.xz
[MCDR] [21:13:22] [QBM - create/ERROR]: [QBM] Error creating backup
Traceback (most recent call last):
  File "plugins\QuickBackupM-v1.9.0.mcdr\quick_backup_multi\__init__.py", line 408, in _create_backup
    copy_worlds(config.server_path, slot_path, CopyWorldIntent.backup)
  File "plugins\QuickBackupM-v1.9.0.mcdr\quick_backup_multi\__init__.py", line 169, in copy_worlds
    backup_file.add(src_path, arcname=world, filter=tar_filter)
  File "D:\Program_File\python\lib\tarfile.py", line 2008, in add
    self.add(os.path.join(name, f), os.path.join(arcname, f),
  File "D:\Program_File\python\lib\tarfile.py", line 2002, in add
    self.addfile(tarinfo, f)
  File "D:\Program_File\python\lib\tarfile.py", line 2030, in addfile
    copyfileobj(fileobj, self.fileobj, tarinfo.size, bufsize=bufsize)
  File "D:\Program_File\python\lib\tarfile.py", line 254, in copyfileobj
    buf = src.read(remainder)
PermissionError: [Errno 13] Permission denied
[MCDR] [21:13:22] [QBM - create/INFO]: [QBM] 备份失败,错误代码[Errno 13] Permission denied

在Linux上,不会出现能在控制台里看见的错误,但是备份文件里依然会包含ignored_files里的文件

HarukaB commented 1 year ago

抱歉,我没有看见https://github.com/TISUnion/QuickBackupM/actions/runs/5681668571,我会尝试一下这里的开发版本的