我正在尝试编写脚本来备份我的数据。我对此了解不多,所以我可能会采取错误的方法,但我想做的是对我想要备份的每个目录多次使用 rsync -avh 。但是,我将目标设置为硬编码值 - ~/sbackup/
。现在我希望我的脚本在运行之前检查该文件夹是否已安装,如果没有 - 尝试安装它。因此,脚本逻辑将如下所示:
1)查看我的U盘是否挂载在~/sbackup/
. (光盘 - 如果有办法阻止其他 USB 设备安装在那里就好了)。
2)如果没有,请尝试将其安装在那里。如果不能,请写一条错误消息并退出。
3) 如果已安装,则运行脚本的其余部分。
现在我可以编写错误消息等,但我不确定第一步和第二步的第一部分。
答案1
如果你有一个mountpoint
命令:
mountpoint -q /local/mount/point || mount ...
答案2
当不带参数运行时,mount
返回已安装分区的列表以及有关它们的一些信息,包括它们的安装点。因此,您可以只grep
针对 mount 输出中的挂载点并采取相应措施:
if ! mount | grep -q sbackup; then
mount /dev/sdb1 /home/matthew/sbackup || echo "Couldn't mount" && exit
fi
更改/dev/sdb
为您的 USB 分区和matthew
您的用户名。运行脚本即可sudo
安装。