拿着锁在日志文件的Powershell

时间:2014-12-22 19:39:38

标签: powershell

我使用ADD-CONTENTOUT-FILE将信息写入日志文件,为了简化日志数量,我希望我的脚本的多个实例能够共享日志文件。有没有办法确保powershell在写入这些文件时不会锁定这些文件?

例如,我有一个SQLCMD调用来恢复数据库,这可能需要20分钟左右。在此期间,它将输出写入日志文件,从而保持对该文件的锁定(因此我无法使用其他脚本对其进行写入)。

理想情况下,我希望两个进程能够同时写入。我应该写一个test-file函数来查看文件在写入之前是否被锁定了吗?如果是,请睡眠x秒并再次检查?

1 个答案:

答案 0 :(得分:0)

写入文件的多个进程很难安全地完成。更好的方法是交易系统。许多人使用事务数据库来登录多个进程。另一个好的选择是写入自定义或系统事件日志。这也是交易性的,应该避免碰撞。