AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1147598
Accepted
Dennis
Dennis
Asked: 2023-11-10 22:05:26 +0800 CST2023-11-10 22:05:26 +0800 CST 2023-11-10 22:05:26 +0800 CST

正常关闭一致文件同步器

  • 772

我们有一个每晚在多个 Linux 和 Darwin (Macintosh) 系统上运行的进程来备份文件系统对象。我们还使用 -repeat=watch 选项运行统一文件同步,以便同步尽可能保持最新。

我们的目标是在备份窗口之前正常关闭一致进程,然后重新启动它们。kill -SIGTERM目前,我们在启动每个同步进程的系统上使用相对不优雅的方法。虽然这有效,但并不理想,我希望有一种有序的方法来做到这一点,但我可能错过了。(例如,必须仔细阅读文档才能发现 SIGUSR1 可用于关闭日志文件,因此我希望同样有另一个 SIG* 可用于此目的。

将其合并到我们的系统关闭过程中也很好。

目前可以做到这一点(MAC版本是“unison version 2.53.3(ocaml 4.14.0)”;unix(UBUNTU)版本是“unison version 2.48.4”。)如果没有优雅的方式,我将制作该功能要求。

synchronization
  • 1 1 个回答
  • 17 Views

1 个回答

  • Voted
  1. Best Answer
    John Mahowald
    2023-11-15T01:28:03+08:002023-11-15T01:28:03+08:00

    根据工会手册,礼貌的停止观看信号是 SIGUSR2。

    6.10 中断同步

    当不连续同步时,文本界面会在同步正常完成或由于发生致命错误时终止。在文本界面中,要在同步完成之前中断同步,请按“Ctrl-C”(或发送信号 SIGINT 或 SIGTERM)。这将尽快中断更新传播,但仍能完成适当的清理。如果即使按“Ctrl-C”该过程也没有停止,则继续重复执行此操作。这将绕过清理过程并强制终止进程(类似于 SIGKILL)。这样做可能会使存档或副本处于不一致状态或被锁定。连续同步时(时间间隔重复或使用文件系统监控),使用“Ctrl-C”或信号 SIGINT 或 SIGTERM 中断的工作方式与上述相同,并且还会停止连续过程。要仅停止连续进程并让最后的同步正常完成,请改为发送信号 SIGUSR2。

    它有一个 SIGTERM 处理程序来优雅地退出。一般来说,对于与文件相关的工具,清理意味着删除复制未完成的临时文件,并解锁所有资源。

    实现并测试发送 SIGUSR2 的脚本,等待一段时间,如果仍在运行,则发送 SIGTERM。例如,如果在 Linux 服务上使用 systemd,ExecStop 脚本可以发送此信号,稍等一下,然后检查同步状态。然后,来自服务管理器的通常 TERM 信号将确保其关闭。确认您的文件集完好无损。同步程序崩溃一致并不一定意味着您的文件都在同一时间点。


    似乎您有一个独立于同步过程的备份方法,这很好。

    我认为仅像这样的同步不足以作为备份。好的备份是离线的、不可变的,并且备份到不同的介质上。如果意外或恶意软件将不良数据写入一侧,则会将其同步到另一侧。与仅仅从一棵树中制作存档相比,同步冲突解决可能会带来复杂性。

    独立的备份方式还可以确保您对文件同步过程的更改不会导致数据丢失。最坏的情况是,获取备份存档,并安全地防止写入。

    • 0

相关问题

  • 文件复制到分支机构

  • 在本地同步 FTP 文件夹

  • 在 Windows Server 环境中跨 LAN 或 FTP 自动同步/备份文件?

  • 网络文件同步工具

  • 允许跨平台同步的密码管理器[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve