脚本文件:(部署服务器时,脚本文件要跟【docker-compose.yml】在同一目录下)
auto_create_monitor_service.sh:
开机自启脚本:
After=network.target # 在network.target之后启动,确保网络就绪
Wants=network.target # 希望网络服务启动,但不是强依赖
WorkingDirectory=${absolute_path} # 工作目录
ExecStart=/bin/bash "${absolute_path}/monitor.sh" # 启动命令:执行监控脚本
监控文件创建脚本:
监控“/mnt/ragfolw-main/docker/monitor” 目录下文件的创建;
监控到文件【backup.txt】创建,调用 migration.sh 脚本执行备份功能,备份路径为“ /mnt/ragfolw-main/docker/backups/“ + BackupDir(在文件中读取);
监控到文件【result.txt】创建,此时备份完成(在文件中读取成功或失败状态);
监控到文件【restore.txt】创建,调用 migration.sh 脚本执行还原功能,文件中读取 BackupId 来指定还原文件;
监控到文件【restore_result.txt】创建,此时还原完成(在文件中读取成功或失败状态);
备份还原功能脚本:
备份: bash "${absolute_path}/migration.sh" backup "$BackupId"
还原: bash "${absolute_path}/migration.sh" restore "$BackupId"
服务器挂载路径:
备份文件存放路径: /mnt/ragflow-main/docker/backups
文件监控路径: /mnt/ragflow-main/docker/monitor
如果路径有修改,记得修改【monitor.sh】脚本里的默认路径 和 代码中的默认配置