將docker 中的SQL database 遷移到ms Azure

Scenario Source Database running on Docker (Linux Server) Traget Database running on Azure Server Prerequisites 源database 的結構和目標database 的結構、表、限制等都相同 對源database 和目標database 具有訪問權限 SQL Server Management Studio Step by Step On Source Database Generate Scripts Select specific database objects Scripting Options Note: 根據需求調整Scripting Options!!!! 目前場景需求的option 是這樣設置的 Types of data to script:选择 Data only(因为结构已经存在) Script DROP statements:设置为 False Script Indexes:设置为 False Script Primary Keys:设置为 False Script Foreign Keys:设置为 False Save as Script file ...

Deploy MkDocs to GitHub Pages (github.io)

1) Setup MkDocs environment # Create MkDocs virtual environment python3 -m venv mkdoc_venv # Activate venv source mkdoc_venv/bin/activate # Deactivate venv deactivate # Install MkDocs + Material theme pip3 install mkdocs mkdocs-material # Install Mermaid plugin pip install mkdocs-mermaid2-plugin # Create a new MkDocs project mkdocs new duke-note # Run MkDocs local server mkdocs serve # Run server for external access mkdocs serve --dev-addr=0.0.0.0:80002) Create GitHub repository # Run in your notes directory git init git add . git commit -m "Initial commit of my study notes"3)Connect to remote GitHub repo # Format: # git remote set-url origin https://<token>@github.com/<owner>/<repository>.git # Example: git remote set-url origin https://ghp_yourTokenHere@github.com/dukehug/mkdocs_dknotes.git git branch -M main git push -u origin main # Deploy to GitHub Pages mkdocs gh-deploy4)Deploy script (deploy.sh) #!/bin/bash # Stop if any error happens set -e # Build site mkdocs build sleep 10 # Push updates git add . git commit -m "update notes: $(date)" git push origin main sleep 10 # Deploy to GitHub Pages mkdocs gh-deploy5)Math formula support (MathJax) References: ...

ERP Next 搬家 - 从腾讯云迁移到PVE

Prerequisites 轻量云创建镜像,并共享 通过轻量云创建的镜像,创建一个云服务器实例 在该镜像下创建的云服务器再制作一个镜像 创建一个新的存储桶作为镜像导出的存储对象 通过存储桶下载备份出来的镜像 导入到 PVE Get start 为轻量云中的erpnext 主机制作一个镜像 将该镜像在该实例的地域开启共享 在该地域创建一个云服务器,(云服务器- 非 轻量云) 选用该镜像 开通之后,等待启动,并确认服务正常 将实例停机,再在当前实例创建一个镜像(云服务器- 非 轻量云) 等待镜像创建完成 来到对象存储- 存储桶列表- 创建存储桶 返回云服务中的镜像,选择第5步已经创建好的镜像 在镜像选项中选择镜像导出 导出时选择 QCOW2 格式,等待导出完成之后,会存储到存储桶中 回到对象存储- 选择存储桶列表 - 找到刚刚导出的 镜像 - 选择下载镜像 将导出的镜像下载到本地,再导入到PVE 即可 PVE Import USB Disk mount Import qcow2 to vm Config VM lsblk mkdir -p /mnt/usb mount /dev/sdb1 /mnt/usb ls /mnt/usb/iso/*.qcow2 ## import to vm - qm importdisk <源文件路径> <目标存储ID> qm importdisk 101 /mnt/usb/iso/vps-backup.qcow2 local-lvm返回PVE 界面, 将导入的磁盘添加到创建的空的vm中, 设置启动磁盘即可 ...

Cups 維護筆記

Fixing CUPS Print Server Issue on Ubuntu 24.04 Date: 2025-11-30 12:42 Tags: #Linux #cups #printserver Table of Contents What happened How I fixed it Prerequisites Step-by-step guide What Happened I was running CUPS 2.4.7 on Ubuntu 24.04. The client suddenly couldn’t print anything. After checking the server, I found that CUPS had shut down unexpectedly. How I Fixed It Logged into Ubuntu Checked the CUPS service status Restarted the required services Tested printing afterward to confirm everything was working again Prerequisites A keyboard A monitor Your Ubuntu user account and password Getting Started If you forgot your root password You can reset it through GRUB. ...

Using Python and Streamlit with MS SQL

Table of Contents Create and activate the Python environment Install Python modules Install MS SQL Start coding & Run Prerequisites For this project, we used MS SQL, so the operating system is Windows Server 2012. I installed MS SQL Server 2012 Advanced. If your system is Windows 10 or Windows 11, install the latest version of MS SQL Express instead. Python 3.12 Windows OS MS SQL Express Internet Get started Create and activate the Python environment # Create the virtual environment python -m venv c:\project\event # Activate it cd c:\project\event\Scripts .\activate # Deactivate it when finished deactivateInstall Python modules You can install these modules step by step, or use pip install -r requirement.txt. ...

Git and Github 筆記

Git and Github 筆記 Git fast version control 一些基本概念 版本管理和跟蹤 版本控制系統是軟件工具 可以幫助團隊管理源代碼 Status of Version 版本狀態 Untracked 未追蹤 Tracked 已追蹤 Staged 已暫存 Committed 已提交 HEAD -> master / branch HEAD : 目前進度,最新狀態 Master : 主線 git 追蹤的是檔案的變化,不是檔案本身 刪除檔案也需要"add" 和 “commit” 需要忽略的版本管理的文件 在projec 目錄下 新增 .gitignore 在.gitignore 文件中寫入不需要進行版本管理控制的文件後綴或者文件名 Github 是平台 / 相當於Server Git 工具將文檔或者代碼 託管到github 平台 - Install 安裝 Mac os Mac OS 自帶 git 輸入 git -- version 就可以看到git 版本 Windows 下載最新的 https://git-for-windows.github.io/ git for windows 根據指示完成git 的安裝 完成安裝之後就可以看到git bash 的圖標 Ubuntu /Debian 根據下方命令進行安裝 $ sudo apt-get update $ sudo apt-get install git $ git --versionUse 使用 基礎配置 使用以下命令配置git 用戶名和電子郵件 ...

Install Jupyter notebook on Ubuntu 24.04 and allow remote access.

References: Vultr How to Install Jupyter Notebook on Ubuntu 24.04 https://docs.vultr.com/how-to-install-jupyter-notebook-on-ubuntu-24-04 Prerequisites Ubuntu 24.04 Internet access Install Jupyter Notebook with pip Update the APT package index: sudo apt update Install the virtualenv package: sudo apt install python3-virtualenv -y Create a virtual environment: virtualenv jupyter_env Activate the virtual environment: source jupyter_env/bin/activate Install Jupyter Notebook: pip install jupyter Verify the installed version: jupyter-notebook --version You can deactivate the virtual environment at any time by running deactivate. ...

Ubuntu Server 笔记

这篇笔记记录了日常使用ubuntu时需要设置的笔记 systemd-networkd-wait-online.service systemd-networkd-wait-online.service 是 Systemd 的一个服务单元,主要用于在系统启动时等待网络连接就绪。 作用:该服务会等待 systemd-networkd 完成网络配置,并确认至少有一个网络接口在线后,才会标记为 ready,从而允许其他依赖网络的服务启动。默认情况下,它会监视所有由 systemd-networkd 管理的网络接口,直到连线成功或超时。 常见问题:如果 DHCP 获取 IP 耗时较长,可能导致系统启动卡在该服务;没有网络连接时,也可能会一直等待到超时。 优化方法:可以调整超时时间、禁用服务,或者检查网络配置。 调整超时时间 将 TimeoutStartSec 设置为 2sec: sudo vim /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service在 [Service] 部分添加: TimeoutStartSec=2sec保存后重新加载配置: sudo systemctl daemon-reload禁用服务 如果不需要严格等待网络就绪,可以禁用并屏蔽服务: sudo systemctl disable systemd-networkd-wait-online.service sudo systemctl mask systemd-networkd-wait-online.service优化网络配置 检查 /etc/netplan/50-cloud-init.yaml 或类似文件,确保 DHCP 配置正确。例如: ethernets: eth0: dhcp4: true对于固定 IP 环境,改用静态 IP 可避免 DHCP 延迟‌。 timedatectl 设置时区 sudo timedatectl set-timezone Asia/Shanghai timedatectl status #验证 开启时间同步并设置 NTP 服务器 apt-get install chrony -y cd /etc/chrony vim chrony.conf server time.google.com iburst server time2.google.com iburst server time3.google.com iburst systemctl enable chronyd systemctl restart chronyd # 检查服务状态、同步源及同步状态 sudo systemctl status chronyd chronyc sources -v chronyc trackingusermod usermod -aG lpadmin username # 将用户名添加到 lpadmin cat /etc/group

ikuai安裝腳本

在vps中安裝ikuai的操作步驟如下 命令操作部分 查看當前vps的ip地址和網關地址 ip route default via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.14 metric 100 10.0.0.0/22 dev eth0 proto kernel scope link src 10.0.0.14新增腳本 #!/bin/bash # 檢查是否以 root 用戶運行 if [ "$EUID" -ne 0 ]; then echo "請以 root 用戶運行此腳本" exit 1 fi # 詢問用戶下載 32 位或 64 位版本 read -p "請選擇要下載的 iKuai8 版本 (32/64): " arch # 根據用戶選擇下載對應的 ISO 鏡像 if [ "$arch" == "32" ]; then url="https://www.ikuai8.com/download.php?n=/3.x/iso/iKuai8_x32_3.7.20_Build202506041743.iso" filename="ikuai8_x32.iso" elif [ "$arch" == "64" ]; then url="https://www.ikuai8.com/download.php?n=/3.x/iso/iKuai8_x64_3.7.20_Build202506041743.iso" filename="ikuai8_x64.iso" else echo "無效的選擇,請重試" exit 1 fi # 下載 ISO 鏡像 echo "正在下載 $filename..." wget "$url" -O "$filename" echo "下載完成" # 掛載 ISO 鏡像 echo "正在掛載 $filename..." sudo mount -o loop "$filename" /mnt if [ $? -ne 0 ]; then echo "掛載 $filename 失敗,請手動檢查" exit 1 fi echo "掛載成功" # 複製啟動文件 echo "正在複製啟動文件..." sudo cp -rpf /mnt/boot / # 檢查操作結果 echo "檢查操作結果:" if [ -f "$filename" ]; then echo "- $filename 存在" else echo "- $filename 不存在" fi if mountpoint -q /mnt; then echo "- 掛載成功" else echo "- 掛載失敗" fi if [ -d "/boot" ]; then echo "- 啟動文件已複製" else echo "- 啟動文件複製失敗" fi # 檢查主機 IP 地址和網關地址 ip_address=$(ip addr show | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1) gateway=$(ip route show | grep default | awk '{print $3}') echo "- IP 地址: $ip_address" echo "- 網關地址: $gateway" echo "所有操作完成,請執行 reboot 重啟 VPS,並通過 VNC 連接控制台"執行腳本 chmod +x install_ikuai.sh bash install_ikuai.sh根據提示重啟vps 並通過vns 控制台連結vps ...

Pangolin 安装和使用示范

Pangolin 安装和使用示范 前提条件 为了跟随视频中的操作和配置教学,以下条件是可选的。 视频内容: https://www.bilibili.com/video/BV1cAJHz8EAj/ 一台有独立公网IP地址的云服务器 一个域名 一台在本地局域网中运行的Linux服务器 (博主的是Ubuntu 20.0.1) 一台运行Ollama / Deepseek 的Windows电脑 保持微笑 图: 简单的图示 简介 Project: https://docs.fossorial.io/overview Fossorial 系统以 Pangolin 为核心,是一个自托管的隧道反向代理,具有身份和访问管理功能,旨在通过运行在用户空间的加密 WireGuard 隧道安全地公开私有资源。想象一下自托管的 Cloudflare 隧道。 Pangolin 在底层使用 Traefik 进行实际的 HTTP 代理。Badger 插件提供了一种使用 Pangolin 验证每个请求的方法。第二个服务 Gerbil 提供了一个 WireGuard 管理服务器,Pangolin 可以使用它来创建对等体进行连接。最后,还有 Newt,这是一个 CLI 工具和 Docker 容器,它完全在用户空间通过 WireGuard 连接到 Newt 和 Gerbil,并代理您的本地资源。这意味着您无需运行特权进程或容器即可公开您的服务! 图: Fossorial system Diagram 开始 在腾讯云服务器下载 Pangolin 服务端 的安装脚本 # 下载并执行 wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.2.0/installer_linux_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" && chmod +x ./installer添加DNS 记录 注意:需要关闭Proxy ...

Windows10桌面图标选择框变宽的处理办法

緣起 显示器为 4K 将 “Make text bigger” 的值调整到了 150% Windows 的缩放 Bug Windows 操作系统在高分辨率显示器下的缩放一直存在一些问题。更改 “Make text bigger” 后,会影响桌面图标的选择框,情况如下: 图片来自微软社区。 由于我已经更改了注册表,之前的 Bug 没有截屏,所以使用社区图片作为示例。 解决办法 修改注册表 注册表位置: HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics 将 IconSpacing 和 IconVerticalSpacing 的值修改为 -1125 出现 Bug 时,这两个值通常在 5500 左右,所以选择框会很宽 修改后重新启动计算机 参考 https://answers.microsoft.com/zh-hans/windows/forum/all/%E6%A1%8C%E9%9D%A2%E5%9B%BE%E6%A0%87%E9%80%89/92d70e9a-151f-407c-8c81-aacad4d66633

Typecho 迁移到 WordPress 笔记

准备工作 Typecho 数据导出插件 Byetyp https://github.com/sunxiyuan/ByeTyp 打包备份Typecho中/usr/uploads 的数据 备份统计代码和ADsense 代码 步骤 注: 因为是迁移完之后才写的笔记,所以没有截图了,接下来的内容就只有文字步骤了。 文字步骤 将Byetyp插件上传到Typecho博客中的插件目录(Plug), 并去掉版本号修改目录名(否则无法正常启用) 将Typecho中/usr/uploads 用户上传的文件打包下载备份到本地 ,稍后要上传到Wordpress 的 wp-content/uploads 目录 激活Byetyp插件导出Typecho博客的数据,格式为xml 安装好Wordpress 并导入Typecho中的数据 执行数据库命令 ,将post-content 表中的附件路径(图片路径)替换成Wordpress SQL command UPDATE wp_posts SET post_content = REPLACE( post_content, '/usr/uploads/', '/wp-content/uploads/');注: wp_posts是Wordpress表名 , 请根据你的实际情况来 1pannel PHP 容器运行环境部署的网站 权限问题 问题现象: 上传主题 或者文件 、 插件到Wordpress 会提示权限不足、或者需要你填写FTP信息 解决办法: 通过 PHP 容器运行环境部署的网站,需要将 index 和子目录下的所有文件、文件夹所有者和用户组设置为 1000,本地 PHP 环境需要参考本地 PHP-FPM 用户和用户组设置 如果VPS中没有id为1000的用户或者组,请新建一个并设置其ID为1000,再到1panel的网站目录配置界面,将其设置为1000 小结 之前因为嫌 WordPress 麻烦,所以用了很多年的 Typecho。今年有一些想要的插件或者功能无法在 Typecho 实现,所以又换回 WordPress。目前的访问速度还能接受;因为采用了 Cloudflare proxy,图片显示可能会稍慢。 ...

Wireguard安装笔记

文章目录 先决条件 WireGuard 安装(Wg-easy) docker 常用命令 VPS安装Wireguard的先决条件 带公网IP地址的设备 / IPV6 也可以 (该笔记使用的Ubuntu18.04 操作系统的VPS 作为例子) VPS 启用SSH VPS安装Docker VPS Wireguard 的安装步骤 1. Docker 安装 sudo apt install docker.io docker-compose sudo service docker start whoami sudo usermod -aG docker {ubuntu} //添加用户进docker组 exec su - $USER //输入密码2. 创建Wg-easy 密码和密匙 docker run -it ghcr.io/wg-easy/wg-easy wgpw {你的密码} PASSWORD_HASH='$2a$12$NJOIUwURc7qX4XnihBNKqOTSqKVxGJahAmwg6FUuboLvxzapBCYHK' //{你的密码} //系统自动开始拉取镜像并返回密码密匙 //复制保存好密匙3. 运行wg-easy docker 镜像 docker run --detach \ --name wg-easy \ --env LANG=en \ --env WG_HOST={你的服务器地址} \ --env PASSWORD_HASH='{步骤2中获取的密码密匙}' \ --env PORT=51821 \ --env WG_PORT=65534 \ --volume ~/.wg-easy:/etc/wireguard \ --publish 65534:65534/udp \ --publish 51821:51821/tcp \ --cap-add NET_ADMIN \ --cap-add SYS_MODULE \ --sysctl 'net.ipv4.conf.all.src_valid_mark=1' \ --sysctl 'net.ipv4.ip_forward=1' \ --restart unless-stopped \ ghcr.io/wg-easy/wg-easy docker ps //查看容器 运行状态 以及列表 docker stop wg-easy //停止容器 docker start wg-easy // 启动容器 docker rm wg-easy //删除容器4. 登录wg-easy 添加peer 当容器运行正常之后,可以在浏览器中访问服务器地址带上端口进行访问 ...

在 Ubuntu 24.04 LTS 中的安装ERPNext 笔记 Step by Step

文章目录 | Table of Contents ERPnext 简介 先决条件 安装步骤 总结 & 引用 先决条件 | Prerequisites 系统环境要求 Ubuntu 24.04 A user with sudo privileges Python 3.11+ pip 20+ MariaDB 10.3.x Node.js 18 Yarn 1.12+ 硬件要求 2 Process 2 Core 4GB ram 40GB Storage Intenet 安装步骤 | Installtion Steps 包升级和创建新用户 Update and Upgrade Packages sudo apt-get update -y && sudo apt-get upgrade -y Create a New user sudo adduser **Your-user-name** #Fill in the information as prompted sudo usemod -aG sudo **Your-user-name** su **Your-user-name** #Enter your password cd ~ 安装环境需要的包 Install Git ...

Proxmox 内存图表等性能监控无数据显示的解决办法

故障现象 Proxmox 性能显示界面无数据,且时间为1970-01-01 解决方法 同步系统时间和硬件时间: 先确保系统时间和硬件时间是正确且同步的: # 设置正确的系统时间(例如:2025-01-13 10:00:00) date -s "2025-01-13 10:00:00" # 同步系统时间到硬件时钟 hwclock -w # 检查硬件时钟时间 hwclock 重启 PVE 服务: 修改时间后,重启相关服务以确保正常运行: systemctl restart pve-cluster systemctl restart pveproxy systemctl restart pvedaemon 清理 rrd 数据缓存(可选): 如果时间错乱严重,可能需要清理并重建 RRD 数据: systemctl stop pve-cluster rm -rf /var/lib/rrdcached/db/pve2-node/ rm -rf /var/lib/rrdcached/db/pve2-storage/ rm -rf /var/lib/rrdcached/db/pve2-vm/ systemctl start pve-cluster 验证 NTP 配置: 使用 NTP 服务确保系统时间自动同步: apt update apt install ntp systemctl enable ntp systemctl start ntp ntpq -p如果不需要 NTP,可以手动设置时间,但建议保持系统和硬件时钟同步。 ...

VMware Station 遷移到 Proxmox PVE 筆記

VMware Station 遷移到 Proxmox PVE 筆記 必要條件 VMware Station 中有VMS VMware Station宿主機和Proxmox 服務器有足夠的磁盤空間 一些基本的Linux命令知識 當前的軟件版本 VMware Station: VMware® Workstation 17 Pro 17.0.0 build-20800274 Proxmox : Proxmox Virtual Environment 8.3.0 操作步驟 從VMware Station 導出VMS ,文件為*.ovf 將VMware Station 導出的*.ovf 下載到Proxmox 節點中 執行導入命令 新增網絡設備,複製MAC地址 Step by Step 從VMware Station 導出VMS 點擊導出按鈕 導出文件到目錄 等待導出到目錄 通過Shell下載ovf 和vmdk文件 mf 在宿主服務器中建立HFS服務,將導出的ovf文件和vmdk文件添加到HFS服務中 在Proxmox 服務器中下載文件 wget http://10.253.253.100/Windwos10_wechat.ovf #依次將其下載到proxmox服務器中 Ubuntu ID: 100 Windows 10 導入到Proxmox root@pve:qm importovf <vmid> <manifest> <storage> [OPTIONS] #Create a new VM using parameters read from an OVF manifest #https://pve.proxmox.com/pve-docs/qm.1.html參數說明: “vmid:” 虛擬機在PVE 中的ID,Proxmox 中初始第一台VM的ID 為100, 這個100就是VMID “manifest:” ovf格式文件,從VMware Station中導出的虛擬機文件 “storage:” PVE的存儲池, 例如 ’local-lvm’ “[OPTOPNS]:” —format qcow2 | raw | vmdk Target format 詳細請參考: https://pve.proxmox.com/pve-docs/qm.1.html ...

搜尋文章

輸入標題、分類或文章內容

開始輸入以搜尋文章