• 【问卷调查奖励发放公告】

    感谢大家积极参与本次 MineBBS 社区问卷调查。200 金粒的参与奖励已完成发放。部分用户发放失败,请【点击此处】 查看详情。

资源图标

资源 BDS服务器存档热备份插件(开源):BackupMap.csr.dll 1.4.02

请登录后获取
之前没遇到这个问题可能是因为 存档全部复制完成 提示出现时,tmp 文件立刻就被删掉了,这次要等一段时间会删除,我并不知道为什么会这样,可能是我存档的问题,请问这个插件有那种类似debug 的模式吗 我想查看下为什么删除tmp 文件会花费如此长的时间
没有debug模式 ,你的存档比较大,插件大概要花多长时间才能将 tmp文件夹删掉?
 
CNGEGE 升级了 BDS服务器存档热备份插件(开源):BackupMap.csr.dll 的新版本:

修BUG,修BUG

运行命令:backupmap 时检测上次备份任务是否结束,如果没有
则提示:上次备份尚未结束
规避打包备份时 可能出现的一个问题

如果打包备份时 tmp中的临时文件没有删除结束就进行下一次备份,可能导致程序抛出无法写入的异常
备份时在tmp中自动多创建一个唯一的临时文件夹(当前时间刻作为名字)

阅读此次升级的详细信息...
 
之前没遇到这个问题可能是因为 存档全部复制完成 提示出现时,tmp 文件立刻就被删掉了,这次要等一段时间会删除,我并不知道为什么会这样,可能是我存档的问题,请问这个插件有那种类似debug 的模式吗 我想查看下为什么删除tmp 文件会花费如此长的时间
请更新到最新插件版本 看看能不能解决问题
 
没有debug模式 ,你的存档比较大,插件大概要花多长时间才能将 tmp文件夹删掉?
我的存档有1GB大,插件从提示五秒后开始备份到tmp文件删掉大约需要1分钟15秒的时间,我更新下插件试试
 
[2022-04-06 07:12:16 BackupMap ]5S后开始备份存档 Saving... The command is already running 已获取备份文件列表,准备备份 [BackupMap Error] 执行压缩失败,将备份的文件夹复制到备份目录,错误:System.IO.DirectoryNotFoundException: 未能找到路径“C:\Users\15490\Desktop\1.16.40.02_Server_V1.5RC1\bedrock-server-1.16.40.02\plugins\BackUpMap\tmp\637848259415300277\Bedrock level”的一部分。 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.FileSystemEnumerableIterator`1.CommonInit() 在 System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) 在 System.IO.DirectoryInfo.EnumerateFileSystemInfos(String searchPattern, SearchOption searchOption) 在 System.IO.Compression.ZipFile.DoCreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName, Nullable`1 compressionLevel, Boolean includeBaseDirectory, Encoding entryNameEncoding) 在 System.IO.Compression.ZipFile.CreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName) 在 BackupMap.AutoBackup.<>c__DisplayClass22_0.<init>b__3() 由于 Exception.ToString() 失败,因此无法打印异常字符串。 {[插件]JS插件平台已装载。 d.
在执行备份后,命令行提示如上,随后崩服。
tmp文件夹下存档文件并没有及时删除,错误也不是一运行备份就报的,是在db文件全部复制到tmp目录下的时候报的,报错的同时,服务端的存档名和dat文件也出现在了tmp目录下,看不清是先报错还是先把dat文件复制进去的
在资源管理器 关联的句柄中 并没有看到相关进程
 
[2022-04-06 07:12:16 BackupMap ]5S后开始备份存档 Saving... The command is already running 已获取备份文件列表,准备备份 [BackupMap Error] 执行压缩失败,将备份的文件夹复制到备份目录,错误:System.IO.DirectoryNotFoundException: 未能找到路径“C:\Users\15490\Desktop\1.16.40.02_Server_V1.5RC1\bedrock-server-1.16.40.02\plugins\BackUpMap\tmp\637848259415300277\Bedrock level”的一部分。 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.FileSystemEnumerableIterator`1.CommonInit() 在 System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) 在 System.IO.DirectoryInfo.EnumerateFileSystemInfos(String searchPattern, SearchOption searchOption) 在 System.IO.Compression.ZipFile.DoCreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName, Nullable`1 compressionLevel, Boolean includeBaseDirectory, Encoding entryNameEncoding) 在 System.IO.Compression.ZipFile.CreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName) 在 BackupMap.AutoBackup.<>c__DisplayClass22_0.<init>b__3() 由于 Exception.ToString() 失败,因此无法打印异常字符串。 {[插件]JS插件平台已装载。 d.
在执行备份后,命令行提示如上,随后崩服。
tmp文件夹下存档文件并没有及时删除,错误也不是一运行备份就报的,是在db文件全部复制到tmp目录下的时候报的,报错的同时,服务端的存档名和dat文件也出现在了tmp目录下,看不清是先报错还是先把dat文件复制进去的
在资源管理器 关联的句柄中 并没有看到相关进程
错误是有概率发生吗 还是某种情况下一定发生?
排除其他插件造成的影响了吗
都没有问题的话用一个新的存档试试,看还会不会报错
 
不打开面板,该怎么配置呀?
你在使用旧版本BDS吗,CSR都停更了。不打开面板你可以手动创建配置文件,然后丢到plugins下的插件配置文件夹中
主页写的很清楚了,如果你使用的是新版本的BDS,建议使用我的另一款 LL插件C++ 编写的存档备份
可以从我的个人主页中找到
 
你在使用旧版本BDS吗,CSR都停更了。不打开面板你可以手动创建配置文件,然后丢到plugins下的插件配置文件夹中
主页写的很清楚了,如果你使用的是新版本的BDS,建议使用我的另一款 LL插件C++ 编写的存档备份
可以从我的个人主页中找到
不是打不开简易欢,他就给我输入指令和改文件根本没有面板这一说法
 
不是打不开简易欢,他就给我输入指令和改文件根本没有面板这一说法
自己按概述中写的手动创建配置文件即可,然后将文件改名为"BackupMap.ini",然后将文件放到 plugins/BackUpMap 文件夹下
 
大佬好,我有一个建议
就是备份存档不再使用一个个压缩包,而是使用git来做备份
我想的具体做法就是
备份插件就拿最新的存档替换指定目录里的存档
然后git发现这个目录文件有更新,就会把发生更新的db文件执行全量备份,没变的db文件就不会重复备份占用存储空间
这样磁盘的利用效率就能提高很多

因为存档有1个G,备份没几下硬盘就满了很难受,所有就有用git做备份的想法
这只是我的一个想法 请问大佬可以考虑实现下吗 谢谢
 
备份过程的话 大概就是
0.备份函数被调用
1.把tmp目录下存档删除(免得上次备份没完整执行有残留的文件)
2.把存档复制进tmp目录
3.让git记录变更
4.删除tmp目录下的文件释放空间
5.备份程序结束
 
备份过程的话 大概就是
0.备份函数被调用
1.把tmp目录下存档删除(免得上次备份没完整执行有残留的文件)
2.把存档复制进tmp目录
3.让git记录变更
4.删除tmp目录下的文件释放空间
5.备份程序结束
想说是加个云备份同步?
 
想说是加个云备份同步?
不是
存档里是很多数据库文件嘛
两个时间点的存档里,玩家不会把全图都跑一遍
所以有的db文件就没有改变
如果是按一个存档一个压缩包的话
这部分的db文件就被重复存储了
如果使用git来备份的话
git不会保存这些没有发生更改的db文件
只会把改变的db文件给存下来
从而节省空间
 
不是
存档里是很多数据库文件嘛
两个时间点的存档里,玩家不会把全图都跑一遍
所以有的db文件就没有改变
如果是按一个存档一个压缩包的话
这部分的db文件就被重复存储了
如果使用git来备份的话
git不会保存这些没有发生更改的db文件
只会把改变的db文件给存下来
从而节省空间
插件支持在备份后调用运行第三方程序或bat脚本,并将备份的文件位置信息,类型(zip、dir)传参进去,你可以自己写一个脚本,将备份后的文件,移到某个固定的位置,或上传云端。
你也可以将云盘映射到本地文件夹,然后备份到这个文件夹中

由于备份有极小的可能性出错或失败,导致备份后的文件不完整(虽然我没有遇到,但并不排除这种可能性),所以不保留备份文件是很危险的事情。如果你怕备份后的存档可能撑爆磁盘,你可以编写个脚本配合插件实现你所说的功能
 

在线会员

  • Boc
  • frea
  • 小虎
  • Ami
  • 铭记mingji
  • Little_Man
  • Polaris_Stella
  • postyizhan
  • Yuncojoy
后退
顶部 底部