2014-02-21 85 views

回答

0

澄清...我想對所有目錄進行備份,例如/ home/user文件名爲backup-2014.02.02。 tar an d位於目錄/ home/user/backups中。我做的是整個/ home目錄與下面的腳本備份:

#!/bin/bash 
today=$(date '+%Y.%m.%d') 
tar czf /var/backup/backup_"$today".tar.gz /home 

是的,但我想去備份下列方式......如果目錄是/ home/user的文件batskup -user-2014.02.04.tar.gz到目錄/ home/backups

0

你可以做這樣的事情在bash:

for d in */; do short=${d%/}; tar -cvf ${short}.tar $short ;done 

,或者更冗長:

cd        # go home 
for d in */      # for all directories 
do 
    short=${d%/}     # strip off trailing slash 
    tar -cvf ${short}.tar $short # tar up directory into file with same name but ".tar" extension 
done 

所以,如果你有doirectories $ HOME/Documents和$ HOME /音樂,你會在您的主目錄中獲取2個名爲Documents.tar和Music.tar的tarfiles