+-

我在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覆盖现有存档? - 乐贴网