查看完整版本: MySQL 的 Replication log 爆量要怎麼清除?


immvp 2015-4-27 14:16

MySQL 的 Replication log 爆量要怎麼清除?

最近遇到一個狀況.就是在同步中的 replication log -&gt; mysql-bin.00000x 更新的太快...<br>大概每 5Min 就會產生 1.1G 的檔案...這樣一來...即使在 /etc/my.cnf 裡面設定了<br>expire_logs_days = 1<br><br>只保留24Hours 以內的檔案還是太佔硬碟空間...這時後你可以參考這個 shell script<br><br>條件設定: 刪除一個小時以前的檔案...mysql-bin.index 做例外處理~<br><br>[quote]<br>#!/bin/bash<br><br>for entry in /var/lib/mysql/mysql-bin*.*<br>do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtFile=$(date -r $entry +'%Y%m%d%H%M%S')<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtBefore=$(date -d "-1 hours" +'%Y%m%d%H%M%S')<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #echo "$dtFile"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #echo "$dtBefore"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$dtBefore" -gt "$dtFile" ] &amp;&amp; [ "$entry" != "mysql-bin.index" ];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #echo "$entry"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -f $entry<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br>done<br>[/quote]<br><br>這樣就可以囉~<br>
頁: [1]
查看完整版本: MySQL 的 Replication log 爆量要怎麼清除?