windows下安全文件备份的脚本

windows下安全文件备份的脚本,windows,scripting,Windows,Scripting,我需要备份一些由进程写入磁盘的大文件。该进程一直在运行,偶尔会转储需要通过网络移动的大型文件。让进程自己这样做不是一个选项,因为进程在进行文件转储时会锁定用户 所以,这是在windows机器下运行的,作为一个主要的linux用户,我不完全确定如何做到这一点 在linux下,我只需在文件夹中使用一个cron作业(我知道将匹配输出文件的glob),然后检查lsof,以确保文件没有被写入,这样我就不会尝试复制部分完整的文件。数据完整性至关重要,因此我通常会在拷贝之前和之后对文件进行md5处理 所以我想

我需要备份一些由进程写入磁盘的大文件。该进程一直在运行,偶尔会转储需要通过网络移动的大型文件。让进程自己这样做不是一个选项,因为进程在进行文件转储时会锁定用户

所以,这是在windows机器下运行的,作为一个主要的linux用户,我不完全确定如何做到这一点

在linux下,我只需在文件夹中使用一个cron作业(我知道将匹配输出文件的glob),然后检查lsof,以确保文件没有被写入,这样我就不会尝试复制部分完整的文件。数据完整性至关重要,因此我通常会在拷贝之前和之后对文件进行md5处理

所以我想我的问题是,人们如何在windows下做这种事情?我觉得自己从一开始就被束缚住了——我可以使用python,但我不能模仿lsof,也不能模仿cron来进行任务调度

我试着查看“句柄”——但它在执行时需要管理员权限,这也是不可取的。我不能以管理员的身份运行备份过程,它必须使用用户权限运行

谢谢


编辑:我刚刚意识到我可以在睡眠的情况下保持python实例运行,因此任务调度不是问题:)

要替换cron,可以使用windows中的“任务调度程序”每隔几分钟(或特定时间)启动脚本


对于lsof,这里讨论了这个问题:

唯一的建议是handle。其他的是互动的,因此没有帮助。为任务调度程序干杯。你可以用更“黑”的方式:检查文件大小在过去60秒左右没有改变……不是很好,但是如果你没有其他解决方案,应该做这项工作。或者要求流程启动另一个将传输文件的程序。是的,我最终将文件md5。。。等待60秒,然后再做一次并比较哈希值文件有多大,md5是否足够快?