我不得不暂停 rsnapshot 运行一些备份,所以我为此创建了一个锁定文件:
cat > /var/run/rsnapshot/rsnapshot.pid << EOF
$$
EOF
sleep 120s
但是 rsnapshot 告诉我“删除过时的锁定文件”并继续进行备份。
我该怎么做才能使锁文件对 rsnapshot 不陈旧?
男人这样说:
如果 rsnapshot 启动时存在锁定文件,它将尝试读取该文件,如果不能,则停止并出现错误。如果它可以读取文件,它会查看是否存在具有文件中记录的 PID 的进程。如果是这样,rsnapshot 将停止并显示错误消息。如果没有具有该 PID 的进程,那么我们假设锁定文件是陈旧的并忽略它,除非stop_on_stale_lockfile 设置为 1,在这种情况下我们停止。
这意味着,只要 bashscript 运行,它就不会过时。但它不是这样工作的。
编辑:
该死的,我发现了问题,如果锁定文件由另一个用户拥有而不是 rsnapshot 运行,则会出现问题......