如何让 rsync 仅写入 USB 磁盘,并且如果未安装则会失败?

如何让 rsync 仅写入 USB 磁盘,并且如果未安装则会失败?

Ubuntu 9.10,连接到外部 WD 1.5GB USB 驱动器,称为“data_3”

我连接了 USB 线,很长时间内一切都很顺利。每晚通过内部网络运行 cron 作业来同步数据。

断电后,外部 USB 无法启动,rsync 作业将数据复制到内部驱动器上的 /media/data_3,该驱动器小得多,并且空间不足。

rsync 脚本指向 /media/data_3 处应该安装的 USB 驱动器,但当它不存在时,它会写入内部驱动器上的 /media/data_3。

如何让 rsync 仅写入 USB 磁盘,并且如果未安装则会失败?

答案1

您需要事先检查磁盘是否已安装(通过mountgrep),如果尚未安装,则让脚本失败。

答案2

您可以在外部驱动器上创建一个文件,并在运行 rsync 之前测试其是否存在。

if [ -e /media/data_3/testfile ]; then rsync /source/directory /media/data_3/destination; fi至少应该在 bash 中作为一行工作。您可以添加 else 条件,如果文件不存在(意味着分区未安装,或未安装在正确的位置),则向您发送邮件。

相关内容