我正在虚拟机中运行网络服务器。
为了创建一致的备份,我必须在对 VM 硬盘(基于 LVM)进行快照之前短暂停止 Apache、MySQL 和其他进程。
但是,虚拟机上可能正在运行一些需要访问 MySQL 数据库的 cronjob。我不想中断它们。
因此,我正在寻找一种方法来确定当前是否有任何 cronjob 正在运行。当需要备份时,我会等到不“打扰”任何 cronjob 为止。
有什么想法可以实现这一点吗?
答案1
if [ $(ps h --ppid `pidof crond` | wc -l) -eq 0 ]; then
/run/your/backup
else
echo "There are some still running cron jobs."
fi