以正确的方式备份文件夹



我的情况是我只有一些文件夹的执行权限:

比方说,我想备份整个文件夹并排除一些文件夹和文件,使用exclude.txt

这是我要备份的路径:

/pdf/data/pdfnew/2014

并且我只有权限从这个文件夹(主)执行:

/pdf/data/pdfnew/2014/public/main

我把exclude.txt放在同一个文件夹,我可以执行命令(主)

我在(主文件夹)执行这个命令:

tar -cjvf -X exclude.txt 2014.tar.bz2 /pdf/data/pdfnew/2014

结果是它仍然包含我不想备份的文件夹

有正确的方法吗?

服务器上是否有user/home目录?你应该,所以你应该把exclude.txt放在服务器上的user/home目录中。在该目录下像这样运行:

tar -cjvf -X ~/exclude.txt ~/2014.tar.bz2 /pdf/data/pdfnew/2014

~/user/home目录的简写,所以在这种情况下,它明确地声明,"从user/home目录读取exclude.txt &

~/2014.tar.bz2写入user/home目录。

但是你还问这个:

有正确的方法吗?

从来没有一个规范的最好的方法来做这样的事情。这都是基于你的最终目标。仅此而已。没有什么更少。也就是说,如果我是你,我会这样做,而不是使用-C选项:

tar -cjvf -X ~/exclude.txt ~/2014.tar.bz2 -C /pdf/data/pdfnew/ 2014

大写的-C选项允许tar在内部将工作目录更改为/pdf/data/pdfnew/,这样您就可以创建2014的存档,而不必在备份中保留整个目录树。我发现这更容易处理,因为很多时候我想备份目录的内容,但不需要保留父结构。这样归档就更像传统的ZIP归档,我觉得这样更容易理解& &;使用。

最新更新