timmy / Telegram Bot 通知系統

0 likes
0 forks
2 files
Last active 1 year ago
這段程式碼提供了一個 TelegramNotifier 類別,透過 Telegram Bot API 發送訊息到指定的聊天 ID (chat_id),並透過 loguru 記錄發送狀態。程式會從環境變數載入 Bot Token 和 Chat ID,並在啟動時發送通知,適用於自動化系統監控或事件提醒。
1 TELEGRAM_BOT_TOKEN=你的_bot_token
2 TELEGRAM_CHAT_ID=你的_chat_id

timmy / 磁碟使用量查詢 API

0 likes
0 forks
1 files
Last active 1 year ago
這段程式碼建立了一個簡單的 HTTP 伺服器,透過 /disk-usage API 端點提供磁碟空間使用狀況的查詢功能。使用者可以透過 GET 請求並指定 path 參數來獲取該目錄的總空間、已使用空間、可用空間及使用率,適用於系統監控或遠端管理工具。
1 import json
2 from http.server import BaseHTTPRequestHandler, HTTPServer
3 from urllib.parse import urlparse, parse_qs
4 import shutil
5
6
7 class DiskUsage:
8 def __init__(self, path="/"):
9 self.path = path

timmy / 檢查硬碟空間使用情況

0 likes
0 forks
1 files
Last active 1 year ago
這段程式碼透過 DiskUsage 類別來檢查指定路徑的磁碟空間使用情況,包括總空間、已使用空間、可用空間及使用率,並提供 format_size 方法將數值轉換成人類可讀的格式(如 KB、MB、GB)。適用於系統監控、伺服器管理或儲存資源分析。
1 import os
2 import shutil
3
4 class DiskUsage:
5 def __init__(self, path="/"):
6 """
7 初始化 DiskUsage 類別,指定檢查的路徑(預設為根目錄 /)。
8
9 :param path: 要檢查的檔案系統路徑。
10 """
Last active 1 year ago
這段程式碼建立了一個 WebSocket 伺服器,允許遠端用戶端傳送指令,並在伺服器端執行該指令後回傳執行結果。適用於遠端系統管理、指令控制或測試環境中的即時互動,但因為直接執行來自用戶端的指令,需特別注意安全性風險,如權限控管與輸入驗證,以防止指令注入攻擊。
1 import asyncio
2 import websockets
3 import subprocess
4
5 async def handle_command(websocket, path):
6 try:
7 async for message in websocket:
8 print(f"Received command: {message}")
9
10 # 執行系統指令
Last active 1 year ago
這段程式碼使用 Streamlit 建立一個 WebSocket 測試介面,當使用者按下按鈕時,會透過 WebSocket 用戶端向伺服器發送訊息,並顯示伺服器的回應。同時,它會在背景啟動 WebSocket 伺服器(如果尚未啟動),允許用戶端與其通訊,適用於即時通訊測試、開發 WebSocket 服務或簡單的雙向訊息傳遞應用。
1 import asyncio
2 import websockets
3 import streamlit as st
4 import threading
5 import socket
6
7 # Function to check if a port is free
8 def is_port_free(port):
9 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
10 return s.connect_ex(('localhost', port)) != 0

timmy / SQL Server 資料表空間使用查詢

0 likes
0 forks
1 files
Last active 1 year ago
這段 SQL 查詢會列出指定資料庫中每個資料表的名稱、所屬 Schema、行數(Row Count)、總佔用空間(KB)、已使用空間(KB)以及未使用空間(KB),並依據總佔用空間進行降序排序。這對於 資料庫管理與最佳化 非常有用,能幫助 DBA 或開發人員分析表的大小、尋找可能需要清理或最佳化的表,提升資料庫效能。
1 USE [];
2 SELECT
3 s.name AS SchemaName,
4 t.name AS TableName,
5 p.rows AS RowCounts,
6 SUM(a.total_pages) * 8 AS TotalSizeKB,
7 SUM(a.used_pages) * 8 AS UsedSizeKB,
8 (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSizeKB
9 FROM
10 sys.tables t

timmy / Docker 部署 SQL Server 2019

1 likes
0 forks
2 files
Last active 1 year ago
這是一個 Docker Compose 配置檔,用於設定 Microsoft SQL Server 環境,包括一個 mssql-server 容器(SQL Server Express 版本)和一個 sqlcmd 容器(用於執行 SQL 命令)。兩個容器透過自定義網路連接,並將資料庫數據保存到命名卷 mssql_data。
1 services:
2 mssql-server:
3 image: mcr.microsoft.com/mssql/server:2019-latest
4 container_name: mssql-server
5 environment:
6 ACCEPT_EULA: "Y"
7 SA_PASSWORD: "StrongP@ssw0rd!"
8 MSSQL_PID: "Express"
9 ports:
10 - "1433:1433"