Confluence 6 刪除垃圾內容

屬性(profile)垃圾

屬性垃圾的定義爲,一個垃圾用戶在 Confluence 創建了用戶,但是這個用戶在自己的屬性頁面中添加了垃圾 URL。

如果你有很多垃圾用戶在你的系統中創建了屬性,你可以使用下面的 SQL 很容易的一次性刪除。

如何刪除屬性中的垃圾:

  1. 停止 Confluence 實例然後備份好你的數據庫。
    備註:這個步驟應該在你在數據庫運行下面的 SQL 之前進行操作。
  2. 找到最後的真實屬性:
     SELECT bodycontentid,body FROM bodycontent WHERE contentid IN
      (SELECT contentid FROM content WHERE contenttype='USERINFO')
      ORDER BY bodycontentid DESC;
  3. 查看屬性頁面中的內容,直到你找到垃圾用戶的狀態。你可能需要要求一系列的區間。
  4. 找到需要刪除的集合:
    CREATE TEMP TABLE killset AS SELECT bc.bodycontentid,c.contentid,c.username FROM
      bodycontent bc JOIN content c ON bc.contentid=c.contentid WHERE
      bodycontentid >= BOTTOM_OF_SPAM_RANGE AND bodycontentID <= TOP_OF_SPAM_RANGE
      AND  c.contenttype='USERINFO';
     
    DELETE FROM bodycontent WHERE bodycontentid IN (SELECT bodycontentid FROM killset);
     
    DELETE FROM links WHERE contentid IN (SELECT contentid FROM killset);
     
    DELETE FROM content WHERE prevver IN (SELECT contentid FROM killset);
     
    DELETE FROM content WHERE pageid IN (SELECT contentid FROM killset);
     
    DELETE FROM content WHERE contentid IN (SELECT contentid FROM killset);
     
    DELETE FROM os_user_group WHERE user_id IN (SELECT id FROM killset k JOIN os_user o ON o.username=k.username);
     
    DELETE FROM os_user WHERE username IN (SELECT username FROM killset);

    如果你使用的是 Confluence 5.6 或者早期的版本,請使用下面的 SQL 命令:

     For Confluence 5.6 and earlier...
  5. 一旦垃圾內容被刪除後,重啓 Confluence 然後重構內容索引。這操作將會從索引查找對話框中刪除任何相關的垃圾內容。

https://www.cwiki.us/display/CONF6ZH/Preventing+and+Cleaning+Up+Spam

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章