如何防止访问未安装的挂载点

jon*_*nny 9 backup mount rsnapshot

好的,我在 fstab 中有这个

  //windows_mashine/Backup /backups cifs credentials=/root/.credentials,rw,_netdev,iocharset=utf8,uid=1000 0 0
Run Code Online (Sandbox Code Playgroud)

我的 cron 中有 rsnapshot,它将 /etc/ 和 /usr/local/ 以及其他一些文件备份到 /backups

最近我发现当其他 mashine 关闭并且 /backups 无法安装 rsnapshot 备份到物理文件夹 /backups 时,它会占用分区/空间。我怎样才能避免这种情况?

我可以在未挂载时阻止对 /backups 的任何写入吗(rsnapshot 以 root 身份运行,因为它需要备份一些系统文件)

3di*_*nce 18

另一种选择是将目录设置为不可变的。为此,您需要在卸载挂载点的情况下运行以下命令。

chattr +i /backups

我在任何旨在仅作为挂载点的目录上执行此操作只是为了防止此类事情。因为在某些情况下,您无法添加检查以查看是否安装了某些东西。就像过程不是您控制的脚本,或者是生成或移动数据的人。这种方法将防止在这些情况下将不需要的数据写入未挂载的挂载点。我仍然会将安装检查添加到您的脚本中,以便您可以输出有意义的错误。


小智 6

为什么不让备份脚本测试 /backups 是否已挂载,如果没有则退出?

mount | grep -q /backups || exit 1
Run Code Online (Sandbox Code Playgroud)