2014-02-07 19 views
0

我正在爲服務器設計一個簡單的備份腳本。它應該壓縮某些文件夾和文件(作品),並提供一個zip壓縮存檔。Tar創建帶擴展名的塊文件(同名)和其他所有內容(雙壓縮?)的存檔

我的問題是,它似乎要仔細壓縮一切:

archive.zip/archive/my_folder_1/* 
archive.zip/archive/my_folder_2/* 

它應該是:

archive.zip/my_folder_1/* 
archive.zip/my_folder_2/* 

的.zip裏面,總有存檔後稱爲單文件名稱(但沒有擴展名)。我想要存檔的所有內容都位於此文件內,但我需要對其進行兩次解壓縮以獲取文件夾和文件。

我敢肯定我搞砸了路徑,請告訴我如何解決它!

date_time=$(date +"%y-%m-%d--%T") 
cd/
tar -czf /var/tools/backup/backup_$date_time.zip \ 
--add etc/fstab \ 
--add etc/php5/apache2/ \ 
--add var/spool/cron/crontabs/ \ 
--add var/www/ \ 
--exclude var/www/images \ 
--add var/tools/inc/ \ 
--add var/tools/jobs/ \ 
-C $mysql_backup_root \ 
--add var/ 

回答

0

不知道是怎麼回事,但是這可能是一種替代方案:

保存文件名爲「Filelist.txt中」

tar -cvz -T filelist.txt -f /var/tools/backup/backup_$date_time.zip 

文件列表中的文件,你想要的文件列表。 txt

etc/fstab 
etc/php5/apache2/ 
var/spool/cron/crontabs/ 
+0

我將所有路徑放在兩個列表中,並在tar命令中使用它們('-T'代表包含,'-X'代表排除),但結果相同。還有一件事:我可以使用'-C'來改變包含列表中的路徑,以便將一個具有縮短路徑的文件夾添加到存檔中? (例如,將'/ var/tools/backup/var/lib/mysql /'加入'/ var/lib/mysql /') – CoDEmanX

相關問題