MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼方式
MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼
創(chuàng)建腳本文件
#!/bin/bash # MySQL容器名稱 MYSQL_CONTAINER="mysql" # 輸出文件 OUTPUT_FILE="./update-record.txt" # 當(dāng)前時(shí)間 CURRENT_DATE=$(date "+%Y-%m-%d %H:%M:%S") # 執(zhí)行SQL查詢并將結(jié)果追加到文件中 echo "[$CURRENT_DATE]" >> $OUTPUT_FILE echo "Executing SQL query inside the MySQL container..." >> $OUTPUT_FILE # SQL查詢命令 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é)果寫入文件 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
在打開的編輯器中添加以下行:
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容器名稱:
- 確保腳本中的
MYSQL_CONTAINER
變量值正確,即MySQL容器的實(shí)際名稱。 - 如果不確定容器名稱,可以使用
docker ps
命令查看正在運(yùn)行的容器列表。
MySQL容器內(nèi)部的用戶權(quán)限:
- 確保MySQL容器內(nèi)部的默認(rèn)用戶(通常是
root
) - 具有足夠的權(quán)限來(lái)執(zhí)行
SHOW GLOBAL STATUS
命令
腳本路徑和權(quán)限:
- 確保腳本文件所在的目錄和輸出文件的目錄具有足夠的權(quán)限
- 使得腳本能讀寫文件
解釋
- 執(zhí)行SQL查詢:使用
docker exec
命令直接在MySQL容器內(nèi)部執(zhí)行SQL查詢命令。 - 輸出結(jié)果:將查詢結(jié)果追加到指定的文件
update-record.txt
中,并在每次記錄之間添加分割線以區(qū)分每次執(zhí)行的結(jié)果。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker compose入門helloworld的詳細(xì)過(guò)程
docker-compose是基于docker的,所以我們需要先安裝docker才能使用docker-compose,接下來(lái)通過(guò)本文給大家介紹docker compose入門helloworld的過(guò)程,一起看看吧2021-09-09使用docker compose搭建一個(gè)elk系統(tǒng)的方法
這篇文章主要介紹了使用docker-compose搭建一個(gè)elk系統(tǒng)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08通過(guò)docker容器搭建lamp架構(gòu)的流程
這篇文章主要介紹了dcoker容器搭建lamp架構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12docker中nginx卸載、安裝、配置及掛載詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于docker中nginx卸載、安裝、配置及掛載的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹是非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09docker-compose網(wǎng)絡(luò)配置-?IP?主機(jī)名?hosts配置方式
這篇文章主要介紹了docker-compose網(wǎng)絡(luò)配置-?IP?主機(jī)名?hosts配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01