我有一个常见问题。我每天都安排一次备份,将我的主文件夹和 postgresql 数据库备份到外部硬盘驱动器(文件类型 ext4)。我的外部硬盘驱动器的挂载点是 /dev/sdb1。我运行以下命令来安排每 15 次启动时进行一次磁盘检查。
sudo tune2fs -c 15 /dev/sdb1
通常系统会在启动后 5 分钟左右运行备份脚本。我担心的是备份期间可能会进行磁盘检查,从而损坏外部硬盘。系统 (anacron) 会考虑到这一点吗?如果没有,我该怎么做才能达到预期的结果?
答案1
我担心的是,备份期间可能会发生磁盘检查,从而损坏外部硬盘。
不可以,备份期间不能进行检查。
您的备份解决方案需要挂载外部驱动器上的文件系统,对吗?甚至更多:以写权限(而不是只读)挂载。当针对 ext4 文件系统时,应该与 相同的fsck
means (通常是符号链接)将拒绝在已挂载的文件系统上运行。fsck.ext4
e2fsck
e2fsck
此外,您设置的内容可能根本tune2fs -c 15
不会触发任何自动操作。如果您的外部驱动器未严格在启动时安装(例如通过或半等效的 systemd 机制),则可能不会运行,除非手动安装。在安装时(稍后,启动后),您可能会或可能不会看到类似以下消息:fsck
/etc/fstab
fsck
warning: maximal mount count reached, running e2fsck is recommended
比较这个问题. 注意,即使在中指定了文件系统fstab
,您也需要在第六个字段中输入适当的值才能启用自动fsck
。
因此,自动运行fsck
实际上取决于您如何挂载文件系统。如果fsck
即将自动运行,它将在挂载文件系统之前运行。
无论如何fsck.ext4
(又名e2fsck
),无论是否自动,如果文件系统已挂载,都将拒绝运行。