作者 主題: linux壓縮的問題  (閱讀 4003 次)

0 會員 與 1 訪客 正在閱讀本文。

akong

  • 鑽研的研究生
  • *****
  • 文章數: 523
    • 檢視個人資料
    • http://www.aspa.idv.tw
linux壓縮的問題
« 於: 2006-03-24 15:39 »
請問各位大大
假如在windows上有一些資料夾我們需要壓縮
那個資料夾我們已經開分享且linux client也已經mount沒問題了
但是那個資料夾內還有好幾個資料夾
那我們可不可以用linux的script去壓縮每一個資料夾
並且以該資料夾的名稱來命名壓縮檔名稱
例如
我們在windows下有一個資料夾叫abc
這個資料夾底下有a,b,c,d,e,f....等等的資料夾
那我希望用script來壓縮他們
壓縮後會產生a.tar.gz或是a.zip(如果可以希望可以用成.zip)
是否可以做到呢
謝謝
如有不清楚請跟我說
再次感謝

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
linux壓縮的問題
« 回覆 #1 於: 2006-03-24 15:51 »
請問你要壓縮的目錄要跟原來目錄在同一層資料夾中嗎?
還有:
若假設有個 d1/d2/d3 的目錄.
你是要 d1 d2 d3 都各自壓縮呢? 還是只壓 d3?
若 d1 下還有 dx dy 或 d1/d2 下還有 da db dc 目錄呢?
這些要求你都想好了沒有?

akong

  • 鑽研的研究生
  • *****
  • 文章數: 523
    • 檢視個人資料
    • http://www.aspa.idv.tw
linux壓縮的問題
« 回覆 #2 於: 2006-03-24 17:09 »
引述: "netman"
請問你要壓縮的目錄要跟原來目錄在同一層資料夾中嗎?
還有:
若假設有個 d1/d2/d3 的目錄.
你是要 d1 d2 d3 都各自壓縮呢? 還是只壓 d3?
若 d1 下還有 dx dy 或 d1/d2 下還有 da db dc 目錄呢?
這些要求你都想好了沒有?


1.是的,我只需要放在同一層
2.是的,每一個目錄都是各自壓縮
3.如果我需要壓縮第二層跟第三層的資料夾就好了,再往下就不管了,是否能做到呢??

真的很抱歉給大家找麻煩了,希望這個問題可以解決
先謝謝了哦^^

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
linux壓縮的問題
« 回覆 #3 於: 2006-03-24 19:43 »
引述: "akong"
引述: "netman"
請問你要壓縮的目錄要跟原來目錄在同一層資料夾中嗎?
還有:
若假設有個 d1/d2/d3 的目錄.
你是要 d1 d2 d3 都各自壓縮呢? 還是只壓 d3?
若 d1 下還有 dx dy 或 d1/d2 下還有 da db dc 目錄呢?
這些要求你都想好了沒有?


1.是的,我只需要放在同一層
2.是的,每一個目錄都是各自壓縮
3.如果我需要壓縮第二層跟第三層的資料夾就好了,再往下就不管了,是否能做到呢??

真的很抱歉給大家找麻煩了,希望這個問題可以解決
先謝謝了哦^^


這是我用來備份一些程式目錄的 php script
代碼: [選擇]

[darkhero@home ~]$ more VD_backup2.php
<?
function read_dir($dir) {
        $array = array();
        $d = dir($dir);
        while (false !== ($entry = $d->read())) {
                if($entry!='.' && $entry!='..') {
                        $entry2 = $dir.''.$entry;
                        if(is_dir($entry2)) {
                                $array[$entry] = $entry2;
                        }
                }
        }
        $d->close();
        return $array;
}

$CODEBACKUP_COMMAND = 'tar czvf %s%s_%s.tar.gz %s';
$BACKUP_DIR = '/home/darkhero/backup/';
$needBackupCodeList = read_dir('/home/darkhero/public_html/');

foreach($needBackupCodeList as $key => $val){
        echo "$key 備份中: $val  \n";
        $cmd = sprintf($CODEBACKUP_COMMAND,$BACKUP_DIR,$key,date('Ymd'),$val);
        echo $cmd."\n";
        //exec($cmd);
}
?>


如果要壓縮多層的話,請自己改一下吧~
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
linux壓縮的問題
« 回覆 #4 於: 2006-03-25 14:25 »
若需多層壓縮的話, 似乎有個羅輯問題:
既然上一層已經壓縮過了, 那下一層還需要壓縮嗎?