MySQL docker容器數(shù)據(jù)更新統(tǒng)計shell腳本代碼方式
MySQL docker容器數(shù)據(jù)更新統(tǒng)計shell腳本代碼
創(chuàng)建腳本文件
#!/bin/bash # MySQL容器名稱 MYSQL_CONTAINER="mysql" # 輸出文件 OUTPUT_FILE="./update-record.txt" # 當前時間 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
配置定時任務(wù)
使用cron
來安排腳本每隔一小時執(zhí)行一次。
編輯crontab文件:
crontab -e
在打開的編輯器中添加以下行:
0 * * * * /path/to/your/directory/mysql_update_stats.sh
這里的0 * * * *
表示每天的整點時間執(zhí)行腳本。
如果你將腳本放在了/home/user/scripts/
目錄下,路徑應(yīng)為/home/user/scripts/mysql_update_stats.sh
。
注意事項
MySQL容器名稱:
- 確保腳本中的
MYSQL_CONTAINER
變量值正確,即MySQL容器的實際名稱。 - 如果不確定容器名稱,可以使用
docker ps
命令查看正在運行的容器列表。
MySQL容器內(nèi)部的用戶權(quán)限:
- 確保MySQL容器內(nèi)部的默認用戶(通常是
root
) - 具有足夠的權(quán)限來執(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker compose入門helloworld的詳細過程
docker-compose是基于docker的,所以我們需要先安裝docker才能使用docker-compose,接下來通過本文給大家介紹docker compose入門helloworld的過程,一起看看吧2021-09-09使用docker compose搭建一個elk系統(tǒng)的方法
這篇文章主要介紹了使用docker-compose搭建一個elk系統(tǒng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08docker-compose網(wǎng)絡(luò)配置-?IP?主機名?hosts配置方式
這篇文章主要介紹了docker-compose網(wǎng)絡(luò)配置-?IP?主機名?hosts配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01