创建tar文件时,整个路径将创建为tar文件

时间:2013-05-15 20:59:21

标签: linux shell sh tar

您好我已经创建了一个shell脚本来备份目录中的内容。它创建了文件但保留了整个路径。

这是我的代码

#!/bin/sh

#creating the destination file
dest="../Demo_Projects/backup/"

#the file name to be created
fname=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz

#executing the script
tar -cPf $dest$fname "../Demo_Projects/JsonP/"

这将创建tar文件,但整个路径将保留在tar文件中。 有没有办法让我们可以拥有最里面的目录。

我知道此问题之前已得到解答 tar file preserves full path. how to stop it?

但是当我按照答案时 - 我的修改后的代码如下

#!/bin/sh

#creating the destination file
dest="../Demo_Projects/backup/"

#the file name to be created
fname=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz

#executing the script
exec('cd /home/abhishek/Demo_Projects/ && tar -cPf $dest$fname /JsonP/')

但这会导致运行时错误

abhishek@pk:~/sh$ ./backup_demo.sh
./backup_demo.sh: 11: ./backup_demo.sh: Syntax error: word unexpected (expecting ")")

我是shell脚本的新手,我们将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:3)

#executing the script
exec('cd /home/abhishek/Demo_Projects/ && tar -cPf $dest$fname /JsonP/')

应该是

#executing the script
cd /home/abhishek/Demo_Projects/ && tar -cPf $dest$fname /JsonP/