幫乙個開發朋友實現乙個功能:他希望 每天能定時傳送前一天的top 10 的慢查詢sql 給研發的負責人。
因為不太懂資料庫,所以最好不要安裝第三方的工具。
因此用shell 寫了乙個指令碼,把這個指令碼加入到crontab裡,即可實現每天傳送前一天的top 10 慢查詢。
#!/bin/bash
mysql=`which mysql`
myslow=`which mysqldumpslow`
backupuser=root
backuppass=123456
backupport=3306
backupip=127.0.0.1
#需要將/opt/data/3306/logs 替換為實際的慢查詢日誌的存放路徑
log_file_name=/opt/data/3306/logs/`date +%y%m%d`.log
#前一天的慢查詢檔案名
last_log_file_name=/opt/data/3306/logs/`date +%y%m%d -d"-1 day"`.log
#存放top 10 慢查詢的臨時檔案
mail_content_file=/opt/data/3306/logs/mail.log
#定義郵件的主題
subject="daily mysql top10 slow sql `date +%f' '%t`"
#定義收件人的郵箱
email="***xx@***.com"
mycmd="$mysql -u$backupuser -p$backuppass -h$backupip -p$backupport "
# 因為預設mysql的慢查詢日誌會不斷的增長,因此我們根據日期來設定每天的慢查詢檔案名。這樣即可實現每天乙個慢查詢檔案。
$mycmd -e "set global slow_query_log_file='$log_file_name'"
$myslow -s t -t 10 $last_log_file_name>>$mail_content_file
/usr/bin/dos2unix $mail_content_file
/bin/mail -s "$subject" "$email"<$mail_content_file
rm -rf $mail_content_file
# 刪除7天前的慢查詢日誌
rm -rf /opt/data/3306/logs/`date +%y%m%d -d"-7 day"`.log
TOP 10 安全漏洞
top 10 安全漏洞 1 弱口令 弱的 易於猜中的和重新使用以前用過的口令都損害安全。測試賬戶擁有的口令強度弱且幾乎沒有監控。不要在系統或因特 點重新使用口令。2 沒有打過補丁的軟體 沒有打過補丁的 過時的 有漏洞的或仍處於預設配置狀態的軟體。大多數漏洞都可以通過及時的打上補丁和測試予以避免。充分...
程式設計常見錯誤TOP10
結合以前工作經驗,整理的編碼常見的錯誤 推薦風格,及原因 程式設計常見錯誤top10 返回值使用錯誤 呼叫函式的執行結果對流程有影響,卻未判斷返回值的 返回值使用不準確 返回值的巨集和判斷的巨集不是同一套 錯誤的型別轉換,返回值型別和賦值變數型別不一致 斷言的使用 在可能出現的位置使用斷言 系統資源...
熱門wordpress外掛程式 TOP 10
自動生成 的sitemap,有利於搜尋引擎蜘蛛更好的爬行 頁面,提高收錄量。生成聯絡表單,插入wordpress頁面,方便讀者與博主聯絡。功能強大的相簿外掛程式,如果部落格的很多,推薦使用這款外掛程式管理。wordpress.com的統計系統,使用這個外掛程式,可以在部落格後台檢視 流量,而且不會對...