henrybobo

Lv.1 初心者
管理成員
管理員
註冊
2022-08-27
文章
288
評分
72
聲望
0
這個bat可以用來監察伺服器的資料庫狀況

代碼:
@echo off
setlocal enabledelayedexpansion

:: 设置数据库连接参数
set DB_USER=root
set DB_PASS=
set DB_NAME=v113

:: 定义 MariaDB 的完整路径
set MYSQL_BIN_PATH="C:\Program Files\MariaDB 10.1\bin\mysql"

:: 获取时间戳,基于当前系统时间
for /f "tokens=1-4 delims=:.," %%a in ("%time%") do (
    set /a "millis=(((1%%a * 3600) + (1%%b * 60) + 1%%c) * 1000) + 1%%d"
)

:: 执行 SQL 查询并将结果输出到文件,文件名包含时间戳
%MYSQL_BIN_PATH% -u %DB_USER% -p%DB_PASS% -D %DB_NAME% -e "這邊輸入sql語法" > "output_MILLIS_!millis!.txt"

endlocal
pause


這個批處理腳本是一個自動化腳本,主要用於在 Windows 環境下執行 MariaDB 的 SQL 查詢,並將結果輸出到一個包含時間戳的文本文件中。


如何讓他定時執行呢?

以下是使用方法:

在 Windows 中,你可以使用「計劃任務」(Task Scheduler) 來定時執行這個批處理文件。以下是具體的步驟:

1. 建立批處理文件​

首先,將你的批處理文件保存為一個 .bat 文件,例如 query_inventory.bat。

2. 打開計劃任務​

  1. 按 Win + R 打開運行對話框。
  2. 輸入 taskschd.msc 然後按 Enter,這會打開「計劃任務」。

3. 創建一個新任務​

  1. 在計劃任務的右側窗格中,選擇「建立基本任務」(Create Basic Task)。
  2. 給你的任務命名,例如 "定期執行 SQL 查詢",然後點擊「下一步」(Next)。

4. 設定觸發器​

  1. 在「觸發器」(Trigger) 頁面上,你可以選擇任務的執行頻率,例如每天(Daily)、每週(Weekly) 或每月(Monthly) 等。
  2. 根據你選擇的頻率,設置具體的時間和日期。然後點擊「下一步」。

5. 設定動作​

  1. 在「動作」(Action) 頁面上,選擇「啟動程式」(Start a program),然後點擊「下一步」。
  2. 在「程式或指令碼」(Program/script) 欄中,點擊「瀏覽」(Browse) 按鈕,選擇你之前保存的 .bat 文件,例如 query_inventory.bat。
  3. 點擊「下一步」。

6. 檢查設定並完成​

  1. 檢查你的任務設定,確保一切正確。
  2. 點擊「完成」(Finish) 完成任務創建。

7. 測試和管理任務​

  1. 創建完畢後,你可以在「計劃任務」的「任務庫」(Task Scheduler Library) 中找到剛才創建的任務。
  2. 你可以右鍵點擊任務,然後選擇「運行」(Run) 來手動測試。
  3. 你還可以在這裡修改、刪除或禁用任務。
通過這個方法,你的批處理文件將會按照設定的頻率自動執行,並且每次執行都會將 SQL 查詢結果保存到一個帶有時間戳的文件中。
 

附件

  • 自動倒出SQL.zip
    785 字節 · 查看: 0