+-
linux – 如何防止tar覆盖现有存档?
我在Ubuntu / Linux上使用命令tar -cpvzf~ / Backup / backup_file_name.tar.gz directory_to_backup /每天备份文件几次(文件名包含YYYY-MM-DD格式的日期和来自a的字母) z – a是此日期的第一个备份等.)但是我想创建一个新的存档,如果它已经存在则不会覆盖该存档.如何防止tar覆盖现有存档?如果存档存在,我希望tar退出而不做任何事情(如果可能,显示错误消息).
最佳答案
事先检查文件是否存在:

if [ -f ~"/Backup/[backup_file_name].tar.gz" ]; then
    echo "ooops backup file was already here"
    exit
fi
tar -cpvzf ~/Backup/[backup_file_name].tar.gz directory_to_backup/

请注意,如果要扩展,必须在双引号之外.

更新

Thanks. Do you know how to make the archive file name and directory to
backup as command line arguments? The file name includes the full
path.

您可以使用$1,$2等来指示参数.例如:

if [ -f $1 ]; then
    echo "ooops backup file was already here"
    exit
fi
tar -cpvzf $1 $2

然后使用以下命令调用脚本:

./script.sh file backup_dir
点击查看更多相关文章

转载注明原文:linux – 如何防止tar覆盖现有存档? - 乐贴网