Confluence 6 刪除垃圾內容

屬性(profile)垃圾

屬性垃圾的定義爲,一個垃圾用戶在 Confluence 建立了用戶,可是這個用戶在本身的屬性頁面中添加了垃圾 URL。sql

若是你有不少垃圾用戶在你的系統中建立了屬性,你能夠使用下面的 SQL 很容易的一次性刪除。數據庫

如何刪除屬性中的垃圾:eclipse

  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 命令:spa

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

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

相關文章
相關標籤/搜索