2013-08-29 62 views
4

我們的bigzilla安裝有幾GB數據,並且沒有服務器管理員。 我有網絡管理訪問bugzilla,並希望得到所有的附件(與他們的原始名稱和錯誤#)。批量導出來自bugzilla的附件

我知道有一個大規模的數據庫導出爲XML,但大概是附件將不得不被解析。

我可以請求訪問服務器,然後take a lookattachments表中的錯誤數據庫,但是,然後,我將不得不以某種方式解碼附件數據。所以,

如何將所有Bugzilla的錯誤附件的出口一下子,如文件?

也許某些桌面客戶端具有此功能?或someboday有一個腳本來創建一個tarball?

回答

0

我不知道現有的工具,但這裏是從數據庫中提取數據的一些有用的參考資料(如果你或其他人確實讓工具,請鏈接在這裏。)

附件文件名在鏈接的attachments表中,該表還指定了錯誤編號。

https://dev.mysql.com/doc/refman/5.0/en/select-into.html - 從數據庫寫入文件。

你也可以使用Bugzilla的web服務,儘管這很可能是緩慢:http://www.bugzilla.org/docs/4.0/en/html/api/Bugzilla/WebService/Bug.html#attachments

0

我用下面的構建可以執行需要的檔案了一個單獨的SQL文件。提示:注意文件名中的特殊字符

select concat('SELECT ad.thedata into DUMPFILE \'e:/temp/attachments/' 
, a.bug_id 
, '___' 
, ad.id 
, '___' 
, replace(a.filename,'\'','') 
, '\' FROM bugs.attachments a, bugs.attach_data ad where ad.id = a.attach_id' 
, ' and ad.id = ' 
, ad.id 
,';') into outfile 'C:/Temp/attachments.sql' 
from bugs.attachments a, bugs.attach_data ad where ad.id = a.attach_id;