我的组织使用运行 Samba 的 Debian Linux 作为办公室文件服务器。用户运行 Outlook 来发送电子邮件,但 Outlook 经常崩溃并导致 Outlook.pst 文件处于锁定状态。
目前,我们解除锁定(允许用户再次使用 Outlook)的过程是:
- 手动打开终端会话
- 转到保存 Outlook.pst 文件的用户目录
- 删除 ~outlook.pst.tmp 文件(或类似名称)
- 重命名 pst 文件(例如 mv Outlook.pst Outlook.pstoff)
- 将文件复制回 Outlook.pst(即 cp Outlook.pstoff Outlook.pst)
- 删除旧文件(即 rm Outlook.pstoff)
- chown Outlook.pst 给用户
这可以相当容易地编写脚本,但要正确完成,需要在进行复制之前检查可用磁盘空间。是否有一些更简单的方法可以在不复制文件的情况下删除文件上的锁定?
答案1
这关联在lists.samba 存档中,有一个用户存在相同的文件锁定问题。
本质上是找到进程的 PID 并终止该进程,这应该会释放锁定(有时)我过去曾使用过这种方法,并且每当我有一个锁定的文件时它都对我有用。但是,我没有使用 Outlook。线程中的下一个回复建议使用[global]
Samba 的选项设置。
reset on zero vc = yes
您可以尝试在 [global] 部分中进行设置。
编辑:这是关于 samba 锁定的很好的读物。第 17 章文件和记录锁定