2013-05-15 116 views
0

您好我已經創建了一個shell腳本來備份目錄中的內容。它創建文件,但保留整個路徑。當創建tar文件時,整個路徑被創建爲tar文件

這裏是我的代碼

#!/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/') 

但這會導致運行時錯誤

[email protected]:~/sh$ ./backup_demo.sh 
./backup_demo.sh: 11: ./backup_demo.sh: Syntax error: word unexpected (expecting ")") 

我是新來的shell腳本和任何幫助將不勝感激。 謝謝。

+1

您鏈接到關於PHP的一個問題,而不是外殼。 – chepner

+0

ohh ..我的錯誤。深夜正在扼殺我:) –

回答

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/ 
+0

我可以使用上面的腳本來備份var/www /目錄嗎? 我問這個問題因爲拋出錯誤「無法打開:沒有這樣的文件或目錄 焦油:錯誤不可恢復:現在退出」,它無法打開的文件夾是目標文件夾。當我給出$ dest和$ fname的回聲時,它不是空的。我在主目錄上創建了var dir的符號鏈接。謝謝 –