gpt4 book ai didi

bash - 如何告诉 rsync 仅在目标目录存在时运行?

转载 作者:行者123 更新时间:2023-11-29 09:00:18 25 4
gpt4 key购买 nike

我有这个 bash 脚本将我的备份运行到外部硬盘驱动器...只有当该驱动器已安装 (OS X) 时:

DIR=/Volumes/External; 
if [ -e $DIR ];
then rsync -av ~/dir_to_backup $DIR;
else echo "$DIR does not exist";
fi

这行得通,但我感觉我误读了 rsync 手册页。如果顶级目标目录不存在,是否有内置的 rsync 选项来中止运行?在不测试/Volumes/External 是否存在的情况下,如果目录尚未安装,将使用该名称创建一个目录。

最佳答案

AFAIK 不,但你可以用尾部斜杠模拟这种行为:

rsync -av dir_to_backup/Volumes/External/;

如果目录不存在(可能需要也可能不需要),它将退出并出错。

此外,您始终可以优化掉 if:

test -e $DIR && rsync -av ...

关于bash - 如何告诉 rsync 仅在目标目录存在时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/411092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com