trueai-org / mdrive Goto Github PK
View Code? Open in Web Editor NEW一个基于阿里云盘官方 API 授权的自动同步和备份工具,支持云盘挂载到本地,支持本地存储,支持加密,多平台、安全、自动化的数据管理方案。
Home Page: https://duplicati.net
License: Apache License 2.0
一个基于阿里云盘官方 API 授权的自动同步和备份工具,支持云盘挂载到本地,支持本地存储,支持加密,多平台、安全、自动化的数据管理方案。
Home Page: https://duplicati.net
License: Apache License 2.0
在docker中部署后,删除容器再创建容器,之前设置的存储和作业就消失了。
sudo docker run --name mdrive -d --restart=always \ -v /MDriveSync/appsettings.json:/app/appsettings.json:rw \ -v /MDriveSync/appsettings.Client.json:/app/appsettings.Client.json:rw \ -v /MDriveSync/logs:/app/logs \ -v /data:/data:ro \ -e BASIC_AUTH_USER=admin -e BASIC_AUTH_PASSWORD=123456 \ -p 8080:8080 trueaiorg/m-drive-sync-client
另外appsettings.json没有找到示例
appsettings.Client.json感觉没什么用
OneDrive同步的策略主要特点在于,备份文件夹中的文件(文件夹)被修改才会被重新上传,比较灵活。
对于mdrive现有的策略,似乎是完全重新扫描文件夹并读取云端文件数据并比对,具体使用上这样也比较笨重,备份很慢。
everything可以获取本地最新被修改文件的相关数据(视图>排序>修改时间),或许有其他可以获得这些信息的系统api。
希望mdrive未来能够支持类似OneDrive的同步策略:先把备份文件夹中所有文件上传(初始备份),然后持续监控相关路径的修改情况,并对被修改的文件即时(或一定延时)后云同步。
如题, 能否挂载相册, 上传, 下载等
谢谢
错误日志
System.DllNotFoundException: Unable to load shared library 'dokan2.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/app/runtimes/linux-x64/native/dokan2.dll.so: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.1/dokan2.dll.so: cannot open shared object file: No such file or directory
/app/dokan2.dll.so: cannot open shared object file: No such file or directory
/app/runtimes/linux-x64/native/libdokan2.dll.so: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.1/libdokan2.dll.so: cannot open shared object file: No such file or directory
/app/libdokan2.dll.so: cannot open shared object file: No such file or directory
/app/runtimes/linux-x64/native/dokan2.dll: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.1/dokan2.dll: cannot open shared object file: No such file or directory
/app/dokan2.dll: cannot open shared object file: No such file or directory
/app/runtimes/linux-x64/native/libdokan2.dll: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.1/libdokan2.dll: cannot open shared object file: No such file or directory
/app/libdokan2.dll: cannot open shared object file: No such file or directory
at DokanNet.Native.NativeMethods.DokanInit()
at DokanNet.Dokan..ctor(ILogger logger)
at MDriveSync.Core.Services.AliyunDriveMounter.Mount() in /src/src/MDriveSync.Core/Services/AliyunDriveMounter.cs:line 1276
at MDriveSync.Core.TimedHostedService.DoWork(Object state) in /src/src/MDriveSync.Core/Services/TimedHostedService.cs:line 114
您好,docker部署创建作业后,不能操作删除,显示操作成功,但是作业还在,会变成禁用状态。
重启容器后,才可以进行作业的删除。
hi,我们是一家在线教育平台,关注到您经常分享 c# 方向的项目,项目十分不错,想问问您是否有兴趣结合这些项目出在线课程分享给大家学习呢,相信会为您带来不错的收益,若有兴趣了解,欢迎直接添加我们的合作微信:shiyanloukecheng~期待您的联系。
[16:31:04 INF] 开始例行检查
[16:31:04 INF] 作业初始化中
[16:31:04 INF] Linux: False
[16:31:06 ERR] 执行例行检查时发生异常
System.Net.Http.HttpRequestException: Request failed with status code Unauthorized
at MDriveSync.Core.Services.ProviderApiHelper.RefreshToken(String refreshToken)
at MDriveSync.Core.Job.InitToken()
at MDriveSync.Core.Job.<get_AccessToken>b__47_0(ICacheEntry c)
at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreate[TItem](IMemoryCache cache, Object key, Func`2 factory)
at MDriveSync.Core.Job.get_AccessToken()
at MDriveSync.Core.Job.AliyunDriveInitInfo()
at MDriveSync.Core.Job.b__72_0()
at MDriveSync.Core.Services.LocalLock.TryLock(String resource, TimeSpan expirationTime, Action action)
at MDriveSync.Core.Job.AliyunDriveInitialize()
at MDriveSync.Core.Job.Maintenance()
at MDriveSync.Core.TimedHostedService.DoWork(Object state)
这个只能自己从阿里云盘下载一份,还是怎么操作。我这边现在本地目录选了个空的文件夹,结果把我阿里云盘的数据都清空了。只保留了文件夹。文件夹里面的数据都清空了。 这个是需要设置什么吗?还是不支持这样的初始化方式呢?
希望 只有一个本地目录的时候 可以添加一个是否创建以这个目录命名的文件夹的按钮
在目标目录下创建目录还是直接放到目标目录
希望 多个任务的目标目录可以多个任务相同(本地目录必须不同)
Windows 10 企业版 LTSC,运行时报错如下
2024-02-16 00:57:56.519 +08:00 [INF] 开始例行检查
2024-02-16 00:57:56.519 +08:00 [INF] 云盘挂载初始化中
2024-02-16 00:57:58.958 +08:00 [INF] 云盘挂载初始化完成
2024-02-16 00:57:58.958 +08:00 [ERR] 执行例行检查时发生异常
System.DllNotFoundException: Dll was not found.
at DokanNet.Native.NativeMethods.DokanInit()
at DokanNet.Dokan..ctor(ILogger logger)
at MDriveSync.Core.Services.AliyunDriveMounter.Mount()
at MDriveSync.Core.TimedHostedService.DoWork(Object state)
我从 https://github.com/dokan-dev/dokany 下载安装Dokan后就正常了
在备份大文件夹(包含上万个文件)的过程中,程序中途MDriveSync.Client.API.exe闪退。
以下几个阶段均发生过闪退情况:
希望增加上传后本地文件自动删除的功能
先说点一些问题
再说点建议
个人体验心得,总体来说蛮不错的,我说的条目可能存在bug 可能是我个人原因。
web界面下,挂载提示这个
在配置界面没有加密相关得配置信息
加载本地目录文件异常 D:\download\upload
System.ArgumentOutOfRangeException: 'minValue' cannot be greater than maxValue. (Parameter 'minValue')
at System.Random.ThrowMinMaxValueSwapped()
at System.Random.Next(Int32 minValue, Int32 maxValue)
at MDriveSync.Core.ShaHashHelper.GetSamplePoints(Int64 fileLength, Int32 sampleSize, Int32 numberOfRandomSamples, Int32 seed)
at MDriveSync.Core.ShaHashHelper.ComputeFileSampleHashHex(String filePath, String algorithm, Int32 seed)
at MDriveSync.Core.ShaHashHelper.ComputeFileSampleHash(String filePath, String alg, Int32 seed)
at MDriveSync.Core.ShaHashHelper.ComputeFileHash(String filePath, Int32 level, String alg, Int64 seed)
at MDriveSync.Core.AliyunJob.<>c__DisplayClass65_1.g__LoadFiles|4(String dir)
如题, 不然都是账号名
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: [14:06:25 ERR] 执行例行检查时发生异常
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: ---> System.TimeoutException: A task was canceled.
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: --- End of inner exception stack trace ---
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: --- End of inner exception stack trace ---
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.Services.AliyunDriveApi.DriveInfo(String accessToken)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunJob.AliyunDriveInitInfo()
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunJob.<AliyunDriveInitialize>b__76_0()
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.Services.LocalLock.TryLock(String resource, TimeSpan expirationTime, Action action)
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunJob.AliyunDriveInitialize()
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunJob.StartJob()
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunJob.Maintenance()
Jun 24 14:06:25 coolchill-server MDriveSync.Client.API[79796]: at MDriveSync.Core.AliyunDriveHostedService.DoWork(Object state)
[21:24:50 INF] 开始例行检查
[21:24:50 INF] 开始例行检查
[21:24:50 INF] 例行检查完成
[21:24:50 INF] 例行检查完成
[21:25:07 INF] 真实大小 0
[21:25:07 INF] 真实大小 0
[21:25:25 INF] 云盘文件加载完成,用时 48604 ms,总文件数:22160
[21:25:25 ERR] 初始化文件列表异常
System.ArgumentException: An item with the same key has already been added. Key: COOLCHILL-PC/restic_backup/data/69/69776173f6c4c40980205462654ec4a5f3b80b1f43dfbb3b13cb370c52ad957f
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](List`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at MDriveSync.Core.Services.AliyunDriveMounter.AliyunDriveSearchFiles(Int32 limit)
at MDriveSync.Core.Services.AliyunDriveMounter.AliyunDriveInitFiles()
我在尝试同步一个7GB大小的文件的时候出现了
System.IO.IOException: The file is too long. This operation is currently limited to supporting files less than 2 gigabytes in size.
看起来是ReadAllBytesAsync不支持2GB以上的文件
请问有计划支持2GB以上文件大小的同步嘛?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.