我使用ADD-CONTENT
和OUT-FILE
将信息写入日志文件,为了简化日志数量,我希望我的脚本的多个实例能够共享日志文件。有没有办法确保powershell在写入这些文件时不会锁定这些文件?
例如,我有一个SQLCMD
调用来恢复数据库,这可能需要20分钟左右。在此期间,它将输出写入日志文件,从而保持对该文件的锁定(因此我无法使用其他脚本对其进行写入)。
理想情况下,我希望两个进程能够同时写入。我应该写一个test-file
函数来查看文件在写入之前是否被锁定了吗?如果是,请睡眠x秒并再次检查?
答案 0 :(得分:0)
写入文件的多个进程很难安全地完成。更好的方法是交易系统。许多人使用事务数据库来登录多个进程。另一个好的选择是写入自定义或系统事件日志。这也是交易性的,应该避免碰撞。