我需要备份一些进程写入磁盘的大文件。该过程永久运行,偶尔会转储需要通过网络移动的大型文件。让进程执行此操作本身不是一种选择,因为进程在进行文件转储时会锁定用户。
所以,这是在Windows机器下运行的,作为主要的linux用户,我不完全确定如何做到这一点...
在linux下我只想在文件夹中使用一个cron作业(我知道将匹配输出文件的glob),然后检查lsof,以确保没有写入文件,这样我就不会尝试复制部分完整的文件。数据完整性至关重要,因此我通常会在复制之前和之后复制文件。
所以我想我的问题是 - 如何在Windows下做这种事情?我觉得我从一开始就被膝盖了 - 我可以使用python,但我不能模仿lsof,也不能用cron来完成任务调度。
我试着查看“句柄” - 但它在执行时需要管理员privelidges,这也不是一个选项。我无法以管理员身份运行备份过程,它必须以用户权限运行。
谢谢..
编辑:我刚刚意识到我可以保持python实例运行,睡眠,所以任务调度不是问题:)
答案 0 :(得分:0)
要替换cron,您可以使用Windows中的“任务计划程序”每隔几分钟(或特定时间)启动您的脚本。
对于lsof,这里讨论了问题:How can I determine whether a specific file is open in Windows?