备份 linux tar 时排除文件

问题描述 投票:0回答:1

我正在尝试在 Linux 中进行备份我已经尝试过:

tar --exclude={"logs", "volumes_docker", "Backup"} -zcvf backup1.tar.gz /home/debian

但是当我检查 backup1.tar.gz 时,我从上面提到的 yje 文件夹中找到了数据。

你能帮忙吗?

linux tar back
1个回答
1
投票

每个要排除的目录理想情况下应该有自己的

--exclude
标志,并指定完整路径。例如:

tar -zcvf backup1.tar.gz --exclude='/home/debian/logs' --exclude='/home/debian/volumes_docker' --exclude='/home/debian/Backup' /home/debian

确保

--exclude
路径不包含任何符号链接目录(这曾经困扰过我)。当 tar 遇到由
--exclude
指定的符号链接目录时,它将排除符号链接本身,而不是目标目录。

完成此工作后,为了更简洁的方法,您可以在 shell 中使用大括号扩展(只要您的 shell 支持它):

tar -zcvf backup1.tar.gz --exclude=/home/debian/{logs,volumes_docker,Backup} /home/debian

这里,

--exclude=/home/debian/{logs,volumes_docker,Backup}
在命令执行之前被shell扩展,有效地使命令相当于对每个目录重复
--exclude
选项。

© www.soinside.com 2019 - 2024. All rights reserved.