Linux 将一个目录备份或者复制, 除去子目录里面的所有内容。

有什么好办法,
Tar -X or -exclude 会把所指定的目录,连目录名都取消了。
就是不需要重建这些空目录名之外 ,有什么好办法,
AWK,Find,sed等不限。

[root@server9 tmp]# tree a
a
|-- a
| `-- b
| `-- c
| `-- a.txt
|-- b
| |-- b.txt
| `-- c
| `-- d
|-- c
| `-- a
| `-- d
|-- d
| `-- d
| `-- d
|-- m.txt
`-- n.txt

12 directories, 4 files
[root@server9 tmp]# find ./a -type d -exec mkdir -p bak/{} \;
[root@server9 tmp]# tree bak
bak
`-- a
|-- a
| `-- b
| `-- c
|-- b
| `-- c
| `-- d
|-- c
| `-- a
| `-- d
`-- d
`-- d
`-- d

13 directories, 0 files追问

问题是这样的,
一个目录a,里面有不同层级的目录,这里有个目录叫log.
find /path -type d -a -name log -print > /path/file
tar -zc -f path.tar.gz -X /path/file /path
这样的做法可以达到目的,但是Log的目录都没有了。只有恢复时,再建立了。

你的作法,只能保存目录架构吧,不能达到目标

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-29
没听懂你想干神马。
你要tar一个目录里的内容,不tar子目录?只tar这个目录的文件?追问

不Tar某个子目录下面的内容,但是这个目录要保留!

追答

tar czvf test.tar --no-recursion *

进入要tar的目录里执行

相似回答
大家正在搜