我在虚拟机中运行网络服务器。
为了创建一致的备份,我必须先停止 Apache、MySQL 和其他进程一小段时间,然后再对 VM 的硬盘驱动器(基于 LVM)进行快照。
但是,当前可能有一些 cronjobs 在需要访问 MySQL 数据库的 VM 上运行。我不想打扰他们。
因此,我正在寻找一种方法来确定当前是否有任何 cronjobs 正在运行。当需要备份时,我会等到我不“打扰”任何 cronjob。
任何想法如何完成这个?
我在虚拟机中运行网络服务器。
为了创建一致的备份,我必须先停止 Apache、MySQL 和其他进程一小段时间,然后再对 VM 的硬盘驱动器(基于 LVM)进行快照。
但是,当前可能有一些 cronjobs 在需要访问 MySQL 数据库的 VM 上运行。我不想打扰他们。
因此,我正在寻找一种方法来确定当前是否有任何 cronjobs 正在运行。当需要备份时,我会等到我不“打扰”任何 cronjob。
任何想法如何完成这个?
您真正需要做的是使用锁定系统,因为任何检查是否存在某物的东西都会为进程启动和创建您试图避免的不一致状态留下机会之窗。
Linux 提供了flock命令,这里有一个使用示例。