侧边栏壁纸
博主头像
阿鱼君

点亮对生活的好奇心

  • 累计撰写 22 篇文章
  • 累计创建 35 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

SeaFile配置垃圾回收模块

阿鱼君
2024-05-10 / 0 评论 / 0 点赞 / 12 阅读 / 680 字
温馨提示:
本文最后更新于 2024-05-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在 Seafile 中,文件删除操作并不会立即导致组成文件的块数据被删除,这是因为 Seafile 采用了去重功能,意味着相同的块数据可能会被多个文件引用,为了确保系统的高效运行和存储空间的合理使用Seafile需要一种机制来识别和清理那些不再被任何文件引用的无用块数据

GC程序

  • 为了实现这一目标Seafile提供了“垃圾收集”(Garbage Collection,简称 GC)程序这个 GC 程序会自动检测系统中哪些数据块已经不被任何文件所引用,并将它们从存储中清除GC脚本通常被放置在 Seafile Docker 容器的 /scripts 目录下

  • 对于 Seafile 社区版用户,执行 GC 的过程相对简单:首先,你需要使用 docker exec 命令进入正在运行的 Seafile 容器,并执行 /scripts/gc.sh 脚本。这个过程会暂时暂停 Seafile 服务,但由于 GC 脚本通常运行得很快,一旦完成,Seafile 服务会自动重新启动,用户可以继续正常使用

  • 而对于Seafile专业版用户情况有所不同专业版提供了在线运行G 的功能,这意味着在执行GC的过程中Seafile服务不会被暂停,用户可以继续进行文件的上传下载编辑等操作,而无需担心服务中断这一功能大大提升了用户体验和系统可用性

  • 总之Seafile通过GC程序有效地管理了存储空间,确保了系统的稳定性和高效性无论是社区版还是专业版,用户都可以根据自己的需求选择适合的 GC 执行方式

设置Crontab计划任务

    
    #编辑crontab
    nano /etc/crontab
    #每12小时执行一次
    0 */12 * * * root docker exec seafile /scripts/gc.sh
    

群晖Nas设置计划任务

  • 任务计划-计划的任务-用户定义的脚本,根据提示设置一定要注意选择ROOT权限,可能Nas有些进程会影响建议执行后重启在执行一遍
	
	#把命令输入保存设置定时任务,建议执行后重启容器再次执行会提示成功信息
	docker exec seafile /scripts/gc.sh
	

image-20240510095049651

image-20240510095112411

GC执行成功

  • 执行第一次提示有进程影响,再次执行后成功

image-20240510100800420

image-20240510100642385

需要注意

  • 计划任务一定设置ROOT管理员权限,不同的Linux会有些许的差异,如果提示进程有影响可以多次执行或Kill进程之后在执行
0

评论区

ip); ?>