动态 版块 发帖 消息 我的
Loading...
HadSky
支持原创软件,共创美好明天!
子版块
qq446825518
8
C:\Users\ITD\AppData\Local\Arduino15直接全部覆盖
 0   0  4天前
qq446825518
14
下面是telnet命令怎么看端口通不通:1.同时按下键盘快捷键win+r,打开运行界面,输入cmd,回车确定。2.在命令提示符界面输入“telnet+空格+ip+端口”确定就可查询端口是否连通。如何看端口通不通,情况下面的提示:如果端口关闭或无法连接,则表明无法打开与主机的链接,并且链接失败;如果端口打开,则链接成功,然后进入telnet页面(全黑)以证明该端口可用。
 0   0  13天前
qq446825518
18
import pyautogui   库鼠标点击库,直接标头引用# 双击某个坐标pyautogui.doubleClick(501, 235)time.sleep(5)  # 单击报表模块pyautogui.click(643, 141)time.sleep(1)  # 按一次方向键 ↑pyautogui.press('up')time.sleep(1)  # 按一次回车键pyautogui.press('enter')time.sleep(1)  # 按一次Tab键pyautogui.press('tab')time.sleep(1)# 模拟键盘输入pyautogui.write("A12345678", interval=0.1)time.sleep(1) # 要打开的网址的话直接引用库import webbrowser# 要打开的网址url = "http://baidu.com"# 打开默认浏览器webbrowser.open(url)time.sleep(8)  # 多种方式切英文(屎山大法)pyautogui.press('shift')time.sleep(0.3)pyautogui.hotkey('ctrl', 'space')time.sleep(0.3)pyautogui.hotkey('alt', 'shift')time.sleep(0.5)print("开始输入英文内容...")
 0   0  48天前
qq446825518
20
完全可以!我帮你整理一个从零到自动备份的完整教程,把每个步骤和执行代码都写清楚,这样你直接照着写就行。假设你有两台玩客云:A:IP 10.27.99.4,源目录 /mnt/sda1/Share/B:IP 10.27.30.2,目标目录 /mnt/sda1/Share-3/安装 rsync在两台玩客云上都要安装:# A、B 都执行opkg updateopkg install rsync openssh-client openssh-server注意:玩客云可能默认已经有 rsync,确认可用:which rsync 配置无密码 SSH这样 A 执行 rsync 时不用每次输入密码。2.1 生成 SSH key(在 A 上)mkdir -p /root/.sshchmod 700 /root/.sshssh-keygen -t ed25519 -f /root/.ssh/id_dropbear会生成两个文件:/root/.ssh/id_dropbear      # 私钥/root/.ssh/id_dropbear.pub  # 公钥2.2 拷贝公钥到 B# 在 A 上执行cat /root/.ssh/id_dropbear.pub复制输出内容,然后登录 B:ssh root@10.27.30.2在 B 上:mkdir -p /root/.sshchmod 700 /root/.sshvi /root/.ssh/authorized_keys  # 粘贴公钥内容chmod 600 /root/.ssh/authorized_keys然后退出 B:exit2.3 测试无密码登录ssh -i /root/.ssh/id_dropbear root@10.27.30.2如果能直接登录,不需要输入密码就成功了。 测试 rsync 命令在 A 上:rsync -av --delete /mnt/sda1/Share/ root@10.27.30.2:/mnt/sda1/Share-3/-a:归档模式(保留权限、时间等)-v:显示详细信息--delete:目标目录删除多余文件确认 B 上的 /mnt/sda1/Share-3/ 已经同步文件。 创建日志目录为了后续 cron 自动运行有记录:mkdir -p /var/logtouch /var/log/rsync.log配置 cron 定时任务编辑 root 的 crontab:crontab -e#i是编辑,退出是按esc,然后保存回车退出   :wq添加下面一行,每天凌晨 3 点自动备份:0 3 * * * rsync -av --delete /mnt/sda1/Share/ root@10.27.30.2:/mnt/sda1/Share-3/ >> /var/log/rsync.log 2>&1>> /var/log/rsync.log 2>&1:把输出和错误都写入日志保存并退出。   测试 cron 是否生效手动执行:rsync -av --delete /mnt/sda1/Share/ root@10.27.30.2:/mnt/sda1/Share-3/查看日志:tail -n 20 /var/log/rsync.log 小技巧可以在 A 上新建测试文件:echo "test backup $(date)" > /mnt/sda1/Share/test.txt等到 3 点(或者手动执行命令)看 B 上是否同步成功。确保 cron 服务在 A 上运行:ps | grep cron# 或者/etc/init.d/cron status如果要备份多个目录,可以写一个脚本:#!/bin/shrsync -av --delete /mnt/sda1/Share/ root@10.27.30.2:/mnt/sda1/Share-3/rsync -av --delete /mnt/sda1/Other/ root@10.27.30.2:/mnt/sda1/Other-backup/然后 crontab 调用脚本:0 3 * * * /root/backup.sh >> /var/log/rsync.log 2>&1这样,你就完成了:无密码 SSH rsync 文件同步 日志记录cron 自动执行
 0   0  50天前
qq446825518
20
https://github.com/guoguobuku/portainer-cn?tab=readme-ov-file拉取中文镜像docker pull outlovecn/portainer-cn:latest这个镜像已经汉化支持 ARM 架构(你玩客云的 armv7l) 启动中文 Portainer 容器方式一:Docker CLIdocker run -d \  -p 9000:9000 \  -p 8000:8000 \  --name portainer \  --restart=always \  -v /var/run/docker.sock:/var/run/docker.sock \  -v ~/dockerconfig/portainer:/data \  outlovecn/portainer-cn:latest说明:-p 9000:9000 → Web 界面端口-p 8000:8000 → Edge agent 端口(一般不用管)-v ~/dockerconfig/portainer:/data → 数据持久化目录/var/run/docker.sock:/var/run/docker.sock → 可以管理 Docker方式二:Docker Compose创建 docker-compose.yml 文件:version: "2.1"services:  portainer:    image: outlovecn/portainer-cn:latest    container_name: portainer    restart: always    ports:      - "9000:9000"      - "8000:8000"    volumes:      - ./dockerconfig/portainer:/data      - /var/run/docker.sock:/var/run/docker.sock然后运行:docker-compose up -d访问中文 Portainer浏览器访问:http://你的玩客云IP:9000第一次登录设置管理员账号和密码登录后界面就是 中文,无需再切换语言后续管理升级镜像:docker pull outlovecn/portainer-cn:latestdocker stop portainerdocker rm portainerdocker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v ~/dockerconfig/portainer:/data outlovecn/portainer-cn:latest数据持久化在 ~/dockerconfig/portainer,不会丢失
 0   0  52天前
qq446825518
20
Sun‑Panel Docker 安装完整教程(跨平台通用) Sun‑Panel 是一个基于浏览器的导航面板/首页界面系统,配合 Docker 部署使用最简单、兼容性好(支持 ARM 等架构)。 第 1 步:准备 Docker 环境确保你的系统已有 Docker 运行环境:验证 Docker 是否安装docker --version如果没有安装,根据你的系统使用合适的 Docker 安装方式(如官方脚本或系统包管理器)。 第 2 步:创建目录用于持久化数据在你的服务器(例如玩客云或其他机器)上创建目录保存配置:mkdir -p ~/sun-panel/confmkdir -p ~/sun-panel/uploadsmkdir -p ~/sun-panel/database 这个目录用于保存 配置、上传内容和面板数据库信息,这样容器重启或更新后数据不会丢失。 第 3 步:拉取 Sun‑Panel Docker 镜像docker pull hslr/sun-panel:latest latest 表示拉取最新版本 也可以替换成具体版本号标签(例如:hslr/sun-panel:v1.2.0)来锁定版本。 第 4 步:运行 Sun‑Panel 容器(最简单方式)复制下面的命令到终端运行:docker run -d --restart=always \  --name sun-panel \  -p 3002:3002 \  -v ~/sun-panel/conf:/app/conf \  -v ~/sun-panel/uploads:/app/uploads \  -v ~/sun-panel/database:/app/database \  -v /var/run/docker.sock:/var/run/docker.sock \  hslr/sun-panel:latest参数说明:选项 作用-d 后台运行--restart=always 容器异常退出自动重启--name sun-panel 容器名称-p 3002:3002 将容器的 3002 端口映射到宿主机-v … 挂载持久化数据目录/var/run/docker.sock 让 Sun‑Panel 可以管理 Docker(可选) 第 5 步:访问 Sun‑Panel 界面在你的浏览器输入:http://服务器IP:3002例如:http://192.168.1.10:3002即可打开面板首页。 默认账号登录时初始默认账号:账号:admin@sun.cc密码:12345678(可登录后在设置里修改)进阶功能配置(可选) 配置 Docker 管理功能你可以在启动时挂载 Docker Socket:-v /var/run/docker.sock:/var/run/docker.sock这样在 Sun‑Panel 中就能查看/管理其他 Docker 容器。
 0   0  52天前
qq446825518
21
方案一(匿名 Mosquitto) 本身就非常适合你现在的 玩客云 / Kwrt / ARMv7 / HA / ESP 场景,而且非常适合整理成教程。下面我给你一份 「从 0 到 100% 可用」的完整教程,你可以原样照抄做记录,每一步都有命令 / 配置 / 验证。 教程标题(你可以直接用)玩客云(ARMv7 / Kwrt)安装 Mosquitto MQTT(匿名方案)完整教程一、环境说明(教程第一章) 硬件 & 系统设备:玩客云架构:ARMv7(armv7l)系统:Kwrt 24.10(基于 OpenWrt / LEDE)验证命令:uname -mcat /etc/os-release为什么不用 apt / sudo?因为 Kwrt / OpenWrt 不使用 apt,而是:包管理工具:opkg默认登录用户:root(不需要 sudo)二、更新软件源(必须)opkg update三、安装 Mosquitto MQTT(OpenWrt 正确方式)安装 Mosquitto 服务端和客户端opkg install mosquitto-nossl mosquitto-client-ssl说明:包名 作用mosquitto-nossl MQTT 服务端(1883)mosquitto-client-ssl mosquitto_pub / mosquitto_sub确认已安装opkg list-installed | grep mosquitto看到类似即成功:mosquitto-nosslmosquitto-client-ssl四、配置 Mosquitto(匿名方案核心)本方案不使用用户名密码编辑配置文件vi /etc/mosquitto/mosquitto.conf写入最小可用配置(直接全部替换)# MQTT 监听端口listener 1883# 允许匿名访问(方案一核心)allow_anonymous true# 消息持久化persistence truepersistence_location /var/lib/mosquitto/# 日志输出log_dest stdout保存退出:ESC:wq回车五、启动 Mosquitto 并设置开机自启/etc/init.d/mosquitto enable/etc/init.d/mosquitto start验证是否监听 1883 端口netstat -lntp | grep 1883看到 1883 即正常。六、本机 MQTT 功能验证(非常重要)终端 A:订阅消息mosquitto_sub -h 127.0.0.1 -t test/openwrt 终端 B:发布消息mosquitto_pub -h 127.0.0.1 -t test/openwrt -m "匿名 MQTT 测试成功"如果终端 A 收到:匿名 MQTT 测试成功说明 Mosquitto 在玩客云上已经完全可用
 0   0  52天前
qq446825518
27
结束命令:pkill nps重启命令:nohup /usr/bin/nps service > /var/log/nps.log 2>&1 &启动:nps start安装:./nps install给你一句“迁移用”的重点总结 如果你要 原样迁移,不重新配置,只需要这两个东西:一个是配置文件,一个是启动程序 /usr/bin/nps /etc/nps/ 把 /etc/nps/ 整个目录带走,所有配置、客户端、端口规则都在里面。
 0   0  56天前
qq446825518
64
import pandas as pd     #加载 pandas,读 Excel 必须用import pyautoguiimport timeimport keyboardimport datetime# =========================# 辅助函数:RGB转16进制# =========================def rgb2hex(r, g, b):    return "{:02X}{:02X}{:02X}".format(r, g, b)# =========================# 读取 Excel# =========================print("读取 Excel 文件...")df = pd.read_excel(r"D:\按键精灵\更改包装描述.xlsx")  #读取 Excel 并把数据放到 df 里面print("读取完成,共", len(df), "行")print("按 F10 开始脚本,F12 停止...")keyboard.wait("F10")print("脚本开始!")row = 0# =========================# 开始处理每一行# =========================while row < len(df):    # 检查 F12 停止    if keyboard.is_pressed("F12"):        print("检测到 F12,脚本停止")        break    # 读取表中的信息,转换为变量====sku_value, desc_value,ok_value    sku_value = str(df.iloc[row]["SKU"])    desc_value = str(df.iloc[row]["描述"])    ok_value = str(df.iloc[row]["OK"])    # =====================    print("处理第", row, "行...")    # =如果表格中标记了OK就不处理了====    if ok_value == "OK":        print("已 OK,跳过")        row += 1        continue    # =====================    # =====================    # 第 1 步:点击 SKU 输入框(129,160)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)    # =====================    while True:        r,g,b = pyautogui.pixel(129,160)        color_hex = rgb2hex(r,g,b)        if color_hex == "FFFFFF":            break        print("SKU 输入框颜色不是 FFFFFF,等待中...")        time.sleep(0.5)    pyautogui.click(129,160)    time.sleep(0.3)    pyautogui.typewrite(sku_value, interval=0.05)    #输入变量信息sku_value,并等待0.05秒    # =====================    # 第 2 步:点击搜索按钮(812,133)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)    # =====================    while True:        r,g,b = pyautogui.pixel(812,133)        color_hex = rgb2hex(r,g,b)        if color_hex == "FFFFFF":            break        print("搜索按钮颜色不是 FFFFFF,等待中...")        time.sleep(0.5)    pyautogui.click(812,133)    time.sleep(0.5)    # =====================    # 第 3 步:点击描述输入框(351,483)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)    # =====================    while True:        r,g,b = pyautogui.pixel(351,483)        color_hex = rgb2hex(r,g,b)        if color_hex == "FFFFFF":            break        print("描述输入框颜色不是 FFFFFF,等待中...")        time.sleep(0.5)    pyautogui.click(351,483)    time.sleep(0.3)    pyautogui.typewrite(desc_value, interval=0.05)      #输入变量信息desc_value,并等待0.05秒    # =====================    # 第 4 步:键盘按回车    # =====================    pyautogui.press("enter")    time.sleep(0.5)    # =====================    # 第 5 步:点击应用按钮(907,507)(颜色判断 + 报错处理)    # =====================    while True:        # 获取按钮颜色        r,g,b = pyautogui.pixel(907,507)        color_hex = rgb2hex(r,g,b)        success_color = "FFFFFF"  # 预期颜色        if color_hex == success_color:            print("应用按钮点击成功,继续下一步")            break  # 成功,跳出循环        else:            print("点击应用报错,按回车并重试...")            # 第1步:按回车            pyautogui.press("enter")            time.sleep(0.2)            # 第2步:再点击按钮            pyautogui.click(907,509)  # 报错备用坐标            time.sleep(0.5)    # =====================    # 第 6 步:点击保存并重复按钮(661,642)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)    # =====================    while True:        r,g,b = pyautogui.pixel(661,642)        color_hex = rgb2hex(r,g,b)        if color_hex == "FFFFFF":            break        print("保存并重复按钮颜色不是 FFFFFF,等待中...")        time.sleep(0.5)    pyautogui.click(661,642)    time.sleep(0.5)    # =====================    # 第 7 步:标记 Excel    # =====================    df.at[row, "OK"] = "OK"    print("第", row, "行完成")    row += 1# =====================# 第 8 步:保存结果# =====================# 使用时间戳防止覆盖文件名 = datetime.datetime.now().strftime(r"D:\按键精灵\处理结果_%Y%m%d_%H%M%S.xlsx")df.to_excel(文件名, index=False)print("脚本全部完成!已保存为", 文件名)
 0   0  118天前
qq446825518
68
进程守护者版本:启动命令:nohup ./smb_guard.sh > /tmp/smb_guard.log 2>&1 &停止守护命令:pkill -f smb_guard.shsmb_guard.sh(守护进程版)#!/bin/bash# =========================================# 宝塔 SMB 守护进程脚本# 功能:# 1. 挂载 SMB 共享# 2. 自动检测挂载状态,如果断开则重连# 3. 输出日志# =========================================# ===== 配置区 =====SMB_IP="IP地址"SMB_USER="用户名"SMB_PASS="密码"SMB_SHARE="smb"  # 共享文件夹目录名称LOCAL_MOUNT="/mnt/smb"   # 挂载到centos目录下的名称SMB_VERSION="3.0"      # SMB 协议版本,可改为2.0或1.0CHECK_INTERVAL=30       # 每隔多少秒检测挂载状态LOG_FILE="/tmp/smb_guard.log"# ==================# 安装cifs-utils(可选)if ! command -v mount.cifs &> /dev/nullthen    echo "$(date) 未安装 cifs-utils,开始安装..." | tee -a $LOG_FILE    if command -v yum &> /dev/null; then        yum install -y cifs-utils | tee -a $LOG_FILE    elif command -v apt &> /dev/null; then        apt update && apt install -y cifs-utils | tee -a $LOG_FILE    else        echo "$(date) 无法自动安装 cifs-utils,请手动安装" | tee -a $LOG_FILE        exit 1    fifi# 创建挂载目录mkdir -p $LOCAL_MOUNT# 守护循环while true; do    if mountpoint -q $LOCAL_MOUNT; then        echo "$(date) SMB 挂载正常: $LOCAL_MOUNT" | tee -a $LOG_FILE    else        echo "$(date) 挂载丢失,重新挂载..." | tee -a $LOG_FILE        mount -t cifs //$SMB_IP/$SMB_SHARE $LOCAL_MOUNT -o username=$SMB_USER,password=$SMB_PASS,vers=$SMB_VERSION,cache=none        if mountpoint -q $LOCAL_MOUNT; then            echo "$(date) ✅ 挂载成功" | tee -a $LOG_FILE        else            echo "$(date) ❌ 挂载失败,请检查网络/用户名/密码" | tee -a $LOG_FILE        fi    fi    sleep $CHECK_INTERVALdone完整脚本:mount_smb.sh终端命令版本 赋予执行权限chmod +x mount_smb.sh ./mount_smb.sh #!/bin/bash # ========================================= # 宝塔 SMB 自动挂载脚本 # 功能: # 1. 挂载 SMB 共享到本地 # 2. 自动检测已有挂载并卸载 # 3. 禁用缓存,保证文件实时刷新 # 4. 列出挂载目录文件 # ========================================= # ===== 配置区 ===== SMB_IP="IP地址" SMB_USER="用户名" SMB_PASS="密码" SMB_SHARE="share" # 文件夹名字 LOCAL_MOUNT="/mnt/smb" # centos挂载显示的目录名字 SMB_VERSION="3.0" # SMB 协议版本,可改为2.0或1.0 # ================== # 安装cifs-utils(可选,如果未安装) if ! command -v mount.cifs &> /dev/null then echo "未安装 cifs-utils,开始安装..." if command -v yum &> /dev/null; then yum install -y cifs-utils elif command -v apt &> /dev/null; then apt update && apt install -y cifs-utils else echo "无法自动安装 cifs-utils,请手动安装" exit 1 fi fi # 创建挂载目录 mkdir -p $LOCAL_MOUNT # 如果已经挂载,先卸载 if mountpoint -q $LOCAL_MOUNT; then echo "检测到已挂载,正在卸载..." umount $LOCAL_MOUNT sleep 1 fi # 挂载 SMB 共享 echo "挂载 SMB 共享..." mount -t cifs //$SMB_IP/$SMB_SHARE $LOCAL_MOUNT -o username=$SMB_USER,password=$SMB_PASS,vers=$SMB_VERSION,cache=none # 检查挂载是否成功 if mountpoint -q $LOCAL_MOUNT; then echo "✅ 挂载成功!挂载目录:$LOCAL_MOUNT" echo "文件列表如下:" ls -l $LOCAL_MOUNT else echo "❌ 挂载失败,请检查用户名/密码/共享名/网络" exit 1 fi # ===== 可选:循环刷新文件列表 ===== # echo "开始循环刷新文件列表,每10秒刷新一次(Ctrl+C停止)" # while true; do # echo "===== 文件列表 $(date) =====" # ls -l $LOCAL_MOUNT # sleep 10 # done 下面是卸载命令: 文件名字 unmount_smb.sh ./unmount_smb.sh #!/bin/bash# =========================================# 宝塔 SMB 卸载脚本# 功能:# 1. 检测挂载# 2. 安全卸载 SMB 挂载目录# =========================================# 挂载目录LOCAL_MOUNT="/mnt/smb"# 检查是否挂载if mountpoint -q $LOCAL_MOUNT; then    echo "检测到挂载,正在卸载..."    umount $LOCAL_MOUNT    if [ $? -eq 0 ]; then        echo "✅ 卸载成功!"    else        echo "❌ 卸载失败,请检查目录是否被占用"    fielse    echo "⚠️ 目录未挂载,无需卸载"fi
 0   0  140天前
guest
登录之后更精彩~
我的小伙伴
Powered by HadSky 7.1.1
© 2015-2026 PuYueTian
您的IP:216.73.216.113,2026-03-21 05:15:54,Processed in 0.02137 second(s).
Powered by HadSky
© 2012 - 2022 壹素天财 版权所有