如何确保在通过计划备份将文件复制到外部驱动器之前已安装该驱动器

如何确保在通过计划备份将文件复制到外部驱动器之前已安装该驱动器

我在备份软件方面遇到了很多麻烦,所以我决定创建自己的备份代码并通过 crontab 安排它。一切都很顺利,直到几周前。我的电脑重新启动了,我进行备份的外部硬盘断开了连接。然而,计划的备份继续进行,并将所有信息保存在只有约 250 GB 的主 SDD 中。因此,它完全填满了 SDD,电脑因为没有剩余内存而崩溃了。

所以我的问题是:有没有办法可以告诉计算机在复制/同步我想要避免的 SDD 将来被填满的信息之前确保外部硬盘驱动器已连接?

答案1

您应该能够使用mountpoint命令的退出状态来确定给定路径是活动挂载点还是仅仅是常规目录:

$ mountpoint /home ; echo $?
/home is a mountpoint
0

$ mountpoint /var ; echo $?
/var is not a mountpoint
1

例如你可以做类似的事情

if ! mountpoint -q /path/to/backupmount; then
  # attempt to mount the backup drive
  # exit on error
fi

# continue with backup

答案2

您可以使用命令或查找命令来验证这一点。

我在手动的

列出挂载 以下命令列出所有已挂载的文件系统(类型为 type): mount [-l] [-t type] 选项 -l 为该列表添加标签。见下文。

例如,为了检查 U 盘,我会使用:安装 -l | grep sdb 我使用了 sdb,但这取决于它是什么类型的设备。

如果您对该设备有任何疑问,请访问链接: https://wiki.archlinux.org/index.php/Device_file

相关内容