如何让 rsync 备份脚本仅在安装外部驱动器时才进行备份?

The*_*ris 2 backup rsync

我有一个外部 SSD。有时候插上,有时候插不上。我已经解决了 FSTAB 启动时挂起的问题 - 一切都很好。我有一个使用 RSYNC 将我的主驱动器备份到所述驱动器的脚本。

  • 连接驱动器后 - 工作完美。
  • 当驱动器未连接时,Fstab 创建挂载点,RSYNC 备份到本地驱动器。

我不想要这样。我要么希望不创建安装点(如果驱动器不存在),要么只将 RSYNC 备份到驱动器 - 而不是安装点。

由于安装点在技术上是本地安装的 - 我无法弄清楚 RSYNC 如何知道其中的差异。

van*_*ium 5

不,fstab 不会创建挂载点。中定义的挂载fstab在系统启动期间执行。之后,fstab 将不会执行任何操作。外部驱动器通常不在 fstab 中声明,因此由可移动驱动器的自动安装机制处理。

要解决您的问题,请在继续执行命令之前在脚本中包含测试rsync。在继续执行 rsync 命令之前,您可以简单地测试删除驱动器上的目标文件夹是否存在。findmnt或者,您可以使用或mountpoint、 或mount(相当于)来测试驱动器是否已安装cat /proc/mounts