MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼方式
MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼
創(chuàng)建腳本文件
#!/bin/bash
# MySQL容器名稱(chēng)
MYSQL_CONTAINER="mysql"
# 輸出文件
OUTPUT_FILE="./update-record.txt"
# 當(dāng)前時(shí)間
CURRENT_DATE=$(date "+%Y-%m-%d %H:%M:%S")
# 執(zhí)行SQL查詢(xún)并將結(jié)果追加到文件中
echo "[$CURRENT_DATE]" >> $OUTPUT_FILE
echo "Executing SQL query inside the MySQL container..." >> $OUTPUT_FILE
# SQL查詢(xún)命令
QUERY_RESULT=$(docker exec $MYSQL_CONTAINER mysql -uroot -p123456 -e "SHOW GLOBAL STATUS WHERE Variable_name IN ('Com_update', 'Com_insert', 'Com_delete', 'Com_replace');" -sN)
# 將結(jié)果寫(xiě)入文件
echo "$QUERY_RESULT" >> $OUTPUT_FILE
echo "----------------------------------------" >> $OUTPUT_FILE
# 輸出提示信息
echo "Statistics recorded at $CURRENT_DATE"設(shè)置權(quán)限
為了讓腳本能被執(zhí)行,需要給腳本添加執(zhí)行權(quán)限:
chmod +x mysql_update_stats.sh
配置定時(shí)任務(wù)
使用cron來(lái)安排腳本每隔一小時(shí)執(zhí)行一次。
編輯crontab文件:
crontab -e
在打開(kāi)的編輯器中添加以下行:
0 * * * * /path/to/your/directory/mysql_update_stats.sh
這里的0 * * * *表示每天的整點(diǎn)時(shí)間執(zhí)行腳本。
如果你將腳本放在了/home/user/scripts/目錄下,路徑應(yīng)為/home/user/scripts/mysql_update_stats.sh。
注意事項(xiàng)
MySQL容器名稱(chēng):
- 確保腳本中的
MYSQL_CONTAINER變量值正確,即MySQL容器的實(shí)際名稱(chēng)。 - 如果不確定容器名稱(chēng),可以使用
docker ps命令查看正在運(yùn)行的容器列表。
MySQL容器內(nèi)部的用戶(hù)權(quán)限:
- 確保MySQL容器內(nèi)部的默認(rèn)用戶(hù)(通常是
root) - 具有足夠的權(quán)限來(lái)執(zhí)行
SHOW GLOBAL STATUS命令
腳本路徑和權(quán)限:
- 確保腳本文件所在的目錄和輸出文件的目錄具有足夠的權(quán)限
- 使得腳本能讀寫(xiě)文件
解釋
- 執(zhí)行SQL查詢(xún):使用
docker exec命令直接在MySQL容器內(nèi)部執(zhí)行SQL查詢(xún)命令。 - 輸出結(jié)果:將查詢(xún)結(jié)果追加到指定的文件
update-record.txt中,并在每次記錄之間添加分割線以區(qū)分每次執(zhí)行的結(jié)果。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker-compose java.net.UnknownHostException問(wèn)題
這篇文章主要介紹了docker-compose java.net.UnknownHostException問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Docker移動(dòng)安裝目錄的2種實(shí)現(xiàn)過(guò)程
本文介紹Docker遷移數(shù)據(jù)目錄的兩種方法:軟鏈接(無(wú)需改配置,路徑跳轉(zhuǎn),適合臨時(shí)遷移)和配置修改(需編輯daemon.json指定新路徑,長(zhǎng)期穩(wěn)定),操作需停服務(wù)、備份、確保權(quán)限與路徑正確2025-08-08
docker鏡像配置掛載GPU的實(shí)現(xiàn)步驟
本文記錄了在普通Docker容器中成功掛載本地GPU設(shè)備并運(yùn)行GPU程序的完整過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案
這篇文章主要介紹了DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
docker客戶(hù)端訪問(wèn)harbor及安裝配置更新
這篇文章主要介紹了docker客戶(hù)端訪問(wèn)harbor以及harbor的安裝配置更新步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

