我正在尝试在 Linux 中进行备份我已经尝试过:
tar --exclude={"logs", "volumes_docker", "Backup"} -zcvf backup1.tar.gz /home/debian
但是当我检查 backup1.tar.gz 时,我从上面提到的 yje 文件夹中找到了数据。
你能帮忙吗?
每个要排除的目录理想情况下应该有自己的
--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
选项。