mysql_base_del_old.sh

  1. #!/bin/bash
  2. #
  3. # 2007/06/09 Created by <a href=\"mailto:cross@ssorc.tw\">cross@ssorc.tw</a>
  4. #
  5. # Purpose: 為了清除一或三個月前的舊資料
  6. #
  7. # How TO: 從 event 找 timestamp 小於自訂的日期,進而求得 sid 與 cid 兩值來刪除不要的資料
  8.  
  9. DB_NAME="base"
  10. DB_USER="base"
  11. DB_PASS="base123456"
  12. TIME_DEL=`date --date="1 month ago" +%F`
  13. echo $TIME_DEL
  14. echo "select sid,cid from event where timestamp < '$TIME_DEL%';" | mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" | grep -v sid |
  15. while read SIDCID; do
  16.          echo "  sid and cid => $SIDCID"
  17.          set -- $SIDCID
  18.          echo "                                  sid => $1"
  19.          echo "                                  cid => $2"
  20.          for x in `echo data event iphdr opt tcphdr`
  21.          do
  22.                  echo "                                                  delete from $x where sid='$1' and cid='$2';"
  23.                  echo "delete from $x where sid='$1' and cid='$2';" | mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME"
  24.          done
  25. done

評論: 0 | 引用: 0 | 閱讀: 698 | 列印 | 文件 | 轉發

發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
頭 像:
內 容:
  • 粗體
  • 斜體
  • 底線
  • 插入圖片
  • 超連結
  • 電子郵件
  • 插入引用
  • 表情符號