备份linux tar时导出文件

Exlude files when I backup linux tar

提问人:estem estem 提问时间:11/10/2023 更新时间:11/10/2023 访问量:25

问:

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

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

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

你能帮忙吗?

Linux 焦油 返回

评论


答:

1赞 James Hibbard 11/10/2023 #1

理想情况下,每个要排除的目录都应具有自己的标志,并指定了完整路径。例如:--exclude

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

确保路径不包含任何符号链接目录(这之前已经咬过我了)。当 tar 遇到 指定的符号链接目录时,它将排除符号链接本身,而不是目标目录。--exclude--exclude

一旦你有了这个工作,为了更简洁的方法,你可以在 shell 中使用大括号扩展(只要你的 shell 支持它):

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

在这里,在执行命令之前由 shell 展开,有效地使命令等同于对每个目录重复该选项。--exclude=/home/debian/{logs,volumes_docker,Backup}--exclude

评论

0赞 estem estem 11/10/2023
感谢您的回来,我如何确保--exlusive路径不包含任何符号链接的目录?请
0赞 James Hibbard 11/10/2023
不用担心:)符号链接,应该是显而易见的。我的意思是确保路径 “home/debian/logs”、“/home/debian/volumes_docker” 和 “home/debian/Backup” 不包含符号链接,这听起来不像。 即 “home” 是符号链接吗?不。“debian”是符号链接吗?不。“日志”是符号链接吗?等。