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