2010-07-12 5 views
0

J'écris un script qui peut goudronner un dossier donné et le placer dans ma maison/BKP. le script lira comme celui-ci,Tarer relativement

tar czvf /home/me/bkp/`basename $1`.tar.gz $1 

bien maintenant, pour l'utiliser.,

backup-script.sh /home/me/folder/sub/to-be-backed-up/ 

bien et bon.

Maintenant, quand je Décompressez, il crée home/me/folder/sub/to-be-backed-up/*files* Je veux juste to-be-backed-up/*files*

Yat-il une option tout en créant les fichiers tar que je compriment relativement?

Répondre

3

Vous pouvez utiliser l'option -C de goudron afin qu'il se transforme en un premier répertoire donné. J'utilise souvent le tour de annexant /.. sur le chemin pour obtenir le répertoire parent, de sorte que votre script serait quelque chose comme:

# backupscript.sh <folder> 
tar cvzf /home/me/bkp/`basename $1`.tar.gz -C $1/.. `basename $1` 

Ou vous pourriez peut-être utiliser à la place dirname pour changer le bon répertoire premier

+0

dans le cas où le nom du fichier contient des espaces, vous devez ajouter des guillemets doubles autour des arguments à 'tar', par exemple: " tar.gz 'tar cvzf "/ home/moi/BKP/$ (basename" $ ​​1)" C " $ (rép "$ 1")/.. » "$ (basename "$ 1")"' – jabirali

+0

@all Merci .... – raj

Questions connexes