首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
212 阅读
2
麒麟KylinV10离线下载安装包及安装
110 阅读
3
iStoreOS上使用WireGuard
78 阅读
4
UNRAID增加和缩小虚拟机虚拟磁盘大小
50 阅读
5
unraid添加iSCSI 发起程序
39 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
数据库
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
奥黛丽·逐爱者
累计撰写
113
篇文章
累计收到
10
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
113
篇与
奥黛丽·逐爱者
的结果
2025-08-30
双向文件同步最佳工具-unison
Unison 是一款 双向文件同步工具,支持跨平台(Linux/macOS/Windows),能智能合并两端的修改,解决冲突,适合多设备间的文件同步。以下是它的核心用法和高级技巧:一、核心特点1. 双向同步:自动检测源端和目的端的更改,合并冲突。2. 跨平台:支持 Windows、Linux、macOS。3. 增量同步:仅传输变化部分,节省带宽。4. 冲突处理:提供交互式解决选项。5. 支持 SSH/RSH:加密传输,适合远程同步。二、安装方法Linux (Debian/Ubuntu)sudo apt install unisonmacOS (Homebrew)brew install unison三、基础用法1. 本地目录同步unison /path/to/local1 /path/to/local2• 首次运行会提示确认同步方向,输入 y 确认。2. 远程同步(SSH)unison /local/dir ssh://user@remote//remote/dir• 注意远程路径格式:// 后接绝对路径(如 //home/user/data)。3. 自动接受默认操作(非交互模式)unison -auto /path1 /path2• -auto:自动处理无冲突的更改。4. 忽略特定文件/目录创建配置文件 ~/.unison/default.prf:# 忽略 .git 目录和临时文件ignore = Name .gitignore = Name *.tmp然后运行:unison -batch /path1 /path2• -batch:非交互模式,依赖配置文件规则。四、高级用法1. 定时同步(结合 cron)crontab -e添加以下内容(每天凌晨 3 点同步):0 3 * * * unison -batch /local/dir ssh://user@remote//remote/dir >> /var/log/unison.log 2>&12. 强制单向同步(覆盖目标)unison -force /source /target -confirmmerge=false -prefer /source• -prefer:指定优先保留的版本。3. 同步后执行命令# 在配置文件中添加postcmd = chmod -R 755 /target/dir4. 限制带宽(避免占用网络)unison -sshargs "-o Compression=no -l 1000" /local ssh://remote//remote• -l 1000:限制 SSH 带宽为 1000 KB/s。五、配置文件示例~/.unison/myconfig.prf:# 同步目录root = /home/user/docsroot = ssh://user@server//backup/docs# 忽略规则ignore = Name *.logignore = Path /tmp# 自动合并策略auto = truebatch = true# 冲突时保留较新文件prefer = newer运行指定配置:unison myconfig六、冲突处理• 同步时若两端文件均被修改,Unison 会提示:Conflict: file.txt was modified on both hosts可选操作:- `d`:差异对比(需配置 diff 工具)。- `l`:保留左侧版本。- `r`:保留右侧版本。- `m`:手动编辑合并。七、与 Rsync 对比工具同步方向冲突处理适用场景Unison双向交互式解决多设备频繁互相同步Rsync单向覆盖目标备份或镜像(如服务器同步)八、常见问题1. SSH 连接超时增加超时时间:unison -sshargs "-o ServerAliveInterval=30" /local ssh://remote//remote2. 权限问题同步后恢复权限:# 在配置文件中添加perms = 0o7553. 大文件同步中断使用 -retry 参数:unison -retry 5 /path1 /path2总结Unison 是 双向同步的最佳工具,尤其适合:• 多台电脑同步工作文档(如笔记本 + 台式机)。• 开发团队保持代码库一致。• 需要冲突解决的复杂同步场景。通过配置文件和命令行参数,可以灵活适应各种需求!--END--觉得不错,可以关注,点赞,转发,如果需要技术援助,可以联系我们,期待您的莅临
2025年08月30日
0 阅读
0 评论
0 点赞
2025-08-30
一键拥有可视化 WireGuard VPN:用 wg-easy 打造你的轻量级远程办公利器
大家好,我是一名从一线打拼出来的老运维,十多年折腾在系统维护、故障抢修、上线发布、运维管理一线,踩过不少坑,也总结了不少实战经验。如果你喜欢这类技术文章,欢迎关注 + 转发支持!大家如果有问题,也可以问问我的智能助手,有可能在以往的文章找到答案哦:有问必答助手在上一篇《实战系列一:用 Podman + WireGuard 打造你的下一代轻量级 VPN(UI 可视化管理)》中,我们聊到如何用 Podman 打造轻量级 VPN。今天给大家带来一个更“傻瓜式”的方案 —— wg-easy。如果你想要快速拥有一套 带可视化管理界面的 WireGuard VPN,而且安装配置不要太复杂,wg-easy 就是你的不二之选。wg-easy 有什么特点?🚀 一键部署:通过 Docker 或 Docker Compose 直接拉起,几分钟即可用。🖥️ 可视化 UI 界面:再也不用手写配置文件,所有操作都能在网页端完成。👥 用户/客户端管理:支持创建多个 VPN 客户端,自动生成配置文件和二维码。📱 手机/PC 快速接入:扫描二维码即可导入 WireGuard 配置,零门槛上手。🔒 安全可靠:基于 WireGuard,性能高效,安全性有保障。🌍 适用场景广泛:远程办公、家庭快速组网、访问 NAS/智能家居,甚至自建加密代理。一句话总结:wg-easy = WireGuard + UI 管理面板 + 一键安装体验。环境准备在开始之前,确保你有以下环境:一台可以联网的 Linux 服务器已安装 Docker 和 Docker Compose一个可用的公网 IP 或 DDNS 域名安装 wg-easy1. 创建目录mkdir -p ~/wg-easy && cd ~/wg-easy2. 编写 docker-compose.yml在 ~/wg-easy 目录下新建 docker-compose.yml 文件:volumes: etc_wireguard:services:wg-easy: environment: # Optional: # - PORT=51821 # - HOST=0.0.0.0 -INSECURE=true image:ghcr.io/wg-easy/wg-easy:15 container_name:wg-easy networks: wg: ipv4_address:10.42.42.42 ipv6_address:fdcc:ad94:bacf:61a3::2a volumes: -etc_wireguard:/etc/wireguard -/lib/modules:/lib/modules:ro ports: -"51820:51820/udp" -"51821:51821/tcp" restart:unless-stopped cap_add: -NET_ADMIN -SYS_MODULE # - NET_RAW # ⚠️ Uncomment if using Podman sysctls: -net.ipv4.ip_forward=1 -net.ipv4.conf.all.src_valid_mark=1 -net.ipv6.conf.all.disable_ipv6=0 -net.ipv6.conf.all.forwarding=1 -net.ipv6.conf.default.forwarding=1networks:wg: driver:bridge enable_ipv6:true ipam: driver:default config: -subnet:10.42.42.0/24 -subnet: fdcc:ad94:bacf:61a3::/64说明:该配置启用了 IPv6,适合需要双栈网络的用户。sysctls 部分开启了 Linux 内核转发功能,保证 VPN 正常通信。volumes 挂载了 /lib/modules,避免内核模块缺失问题。默认 UI 端口是 51821,WireGuard 服务端口是 51820/udp。3. 启动服务docker-compose up -d验证服务是否启动成功:docker ps打开 UI 界面在浏览器访问:http://你的服务器IP:51821在界面中,你可以:新增/删除 VPN 客户端下载配置文件或直接扫码导入手机 WireGuard APP查看当前连接状态详细操作如下:1️⃣ 访问打开欢迎页2️⃣ 创建管理员用户3️⃣ 使用新配置4️⃣ 输入公网IP或点击自动检测选择正确IP,端口51820/UDP,请在防火墙或安全组上放行。5️⃣登录系统6️⃣默认wg-easy必须使用https登录,可以配置环境变量- INSECURE=true来使用非安全的连接,配置后重启生效。7️⃣创建客户端8️⃣ 下载配置文件或扫码连接界面清爽直观,真正做到了 零配置、零门槛、快速上手。应用场景远程办公:员工在外地也能通过 VPN 访问公司内部系统。家庭组网:随时随地访问 NAS、智能家居设备。安全上网:通过自建 VPN,避免公共 WiFi 的安全隐患。游戏加速:搭建家庭 VPN,随时回国/出国游戏。总结相比传统的 WireGuard 配置方式,wg-easy 最大的优势就是简单 + 可视化。 只需要几条命令,就能拥有一套带管理界面的 VPN 系统,特别适合:没有太多 Linux 基础的用户想快速落地远程办公/家庭组网的场景喜欢可视化操作的朋友一句话评价:wg-easy = WireGuard VPN 最优雅的打开方式。 🚀下一篇我将介绍 WireGuard VPN在家用群晖 NAS上部署组网的最佳实践,不知大家是否有需求,欢迎留言!文章中所提及的Yaml和镜像,可以留言获取。往期推荐:实战系列一:用 Podman + WireGuard 打造你的下一代轻量级 VPN(UI 可视化管理)实战系列二:WireGuard 配置优化、密钥管理与客户端接入全攻略END重点提醒因为有你们的关注和反馈,分享才更有意义 ❤️。👉 有需要的朋友可以加我 微信:jack_2013L,记得备注暗号【007】,就能入群和更多小伙伴一起交流~💬 你在日常工作中有没有遇到相同的问题?欢迎在评论区留言,我会挑选一些有意思的留言在下篇文章里展开。✨ 如果觉得内容对你有帮助,别忘了 关注 + 转发,这样你就不会错过后续的实战分享啦!
2025年08月30日
0 阅读
0 评论
0 点赞
2025-08-30
实战系列一:用 Podman + WireGuard 打造你的下一代轻量级 VPN(UI 可视化管理)
大家好,我是一名从一线打拼出来的老运维,十多年折腾在系统维护、故障抢修、上线发布、运维管理一线,踩过不少坑,也总结了不少实战经验。如果你喜欢这类技术文章,欢迎关注 + 转发支持!大家如果有问题,也可以问问我的智能助手,有可能在以往的文章找到答案哦:有问必答助手在日常运维或个人网络环境搭建中,VPN 是一个绕不开的话题。它不仅能帮你安全访问内网,还能实现多机互联和加密通信。 传统方案很多,比如 OpenVPN、IPSec 等,但近几年一颗新星正在迅速崛起 —— WireGuard。而在容器化浪潮中,我们也有了更轻量、更安全的选择 —— Podman。本篇就是这个实战系列的第一篇:利用 Podman + Podman-Compose 部署 WireGuard 和 WireGuard-UI,快速打造一个可视化 VPN 服务。1️⃣ Podman 和 WireGuard 简介Podman Podman 是一个轻量级容器引擎,号称 “Docker 的无守护进程替代品”。它最大的亮点是 无 root 模式,同时支持 OCI 标准镜像,安全性更高。对运维工程师来说,Podman 的命令几乎完全兼容 Docker,学习成本很低。WireGuard WireGuard 是 Linux 内核中的新一代 VPN 协议,号称“快到飞起的 VPN”。它只有 4000 行左右代码,相比 OpenVPN、IPSec 的十几万行代码更简单、更安全。它采用最先进的加密算法(如 ChaCha20、Curve25519),性能表现极佳,已经成为很多企业和开发者的首选。WireGuard-UI WireGuard 本身配置比较“硬核”,但 WireGuard-UI 提供了 Web 界面,让你可以方便地管理客户端、查看配置二维码,极大降低了使用门槛。2️⃣ 安装 Podman 与 Podman-Compose首先在你的 Linux 服务器上安装 Podman。这里以 CentOS / RHEL 系为例(Ubuntu 也类似):# 更新系统sudo yum -y update# 安装 podmansudo yum -y install podman# 验证版本podman --version# 安装 podman-composepip3 install podman-compose验证安装是否成功:podman-compose version示例如下:[root@ip-172-31-6-116 bin]# pip3 install podman-composeCollecting podman-compose Downloading podman_compose-1.5.0-py3-none-any.whl (47 kB) |████████████████████████████████| 47 kB 388 kB/s Collecting python-dotenv Downloading python_dotenv-1.1.1-py3-none-any.whl (20 kB)Requirement already satisfied: pyyaml in /usr/lib64/python3.9/site-packages (from podman-compose) (5.4.1)Installing collected packages: python-dotenv, podman-composeSuccessfully installed podman-compose-1.5.0 python-dotenv-1.1.1[root@ip-172-31-6-116 bin]# podman-compose versionpodman-compose version 1.5.0podman version 5.5.23️⃣ 使用 Podman-Compose 部署 WireGuard + WireGuard-UI我们用 docker-compose.yml 格式的文件,Podman 可以直接兼容。3.1 创建工作目录mkdir -p ~/wireguard-vpn && cd ~/wireguard-vpn3.2 编写 docker-compose.yml创建 docker-compose.yml,podman-compose 是为了兼容 docker-compose 的生态,所以文件依然是docker-compose.yml:注意:服务端要开放51820/UDP(WireGuard)和5000/TCP UI管理端口version: "3.8"services:wireguard: image:linuxserver/wireguard:latest container_name:wireguard cap_add: -NET_ADMIN -SYS_MODULE environment: -PUID=1000 -PGID=1000 -TZ=Asia/Shanghai -SERVERURL=your.vpn.server.ip -SERVERPORT=51820 -PEERS=5 -PEERDNS=1.1.1.1 -INTERNAL_SUBNET=10.13.13.0 volumes: -./config:/config -/lib/modules:/lib/modules ports: -51820:51820/udp sysctls: -net.ipv4.conf.all.src_valid_mark=1 restart:unless-stoppedwireguard-ui: image:ngoduykhanh/wireguard-ui:latest container_name:wireguard-ui depends_on: -wireguard ports: -5000:5000 volumes: -./config:/data restart: unless-stopped3.3 启动服务执行:podman-compose up -d确认容器运行:podman ps4️⃣ 打开 WireGuard-UI 界面浏览器访问:http://服务器IP:5000进入 UI 界面,你可以:创建和管理客户端配置自动生成二维码,方便手机扫描接入一键导出配置文件这样,一个 Podman 驱动的 WireGuard VPN Server 就搭建完成了!5️⃣ 总结在这篇 实战系列一 中,我们完成了:认识 Podman 与 WireGuard安装 Podman + Podman-Compose使用 compose 管理 WireGuard 与 UI成功打开 Web 界面管理客户端下一篇,我们将深入讲解 WireGuard 配置优化、密钥管理、客户端接入 等实战内容,让你的 VPN 更安全、更高效。END重点提醒因为有你们的关注和反馈,分享才更有意义 ❤️。👉 有需要的朋友可以加我 微信:jack_2013L,记得备注暗号【007】,就能入群和更多小伙伴一起交流~💬 你在日常工作中有没有遇到相同的问题?欢迎在评论区留言,我会挑选一些有意思的留言在下篇文章里展开。✨ 如果觉得内容对你有帮助,别忘了 关注 + 转发,这样你就不会错过后续的实战分享啦!
2025年08月30日
0 阅读
0 评论
0 点赞
2025-08-13
测试
12345611234
2025年08月13日
4 阅读
0 评论
0 点赞
2025-08-10
海量数据库操作
海量数据库操作{collapse}{collapse-item label="备份" open}vb_dump工具备份示例vb_dump -U username -W password -h hostname -p port -F c -f /home/bak/xj_zssj_backup.dmp xj_zssj-U:数据库用户名(需有备份权限)-W:用户密码-h:数据库服务器地址(本地可省略)-p:数据库端口(默认5432可省略)-F c:指定自定义格式(压缩格式)-f:指定输出文件路径最后参数为要备份的数据库名实际操作vb_dump -U vastbase -W Xj@123456 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_backup.dmp xj_zssj{/collapse-item}{collapse-item label="覆盖方式恢复"}默认情况下,vb_restore不会自动覆盖现有数据库如果需要完全覆盖,需要先清理目标数据库推荐的安全操作步骤:a) 首先删除现有数据库(确保已备份重要数据):vsql -U vastbase -W Xj@123456 -p 5432 -c "DROP DATABASE xj_zssj;"b) 创建新数据库:vsql -U vastbase -W Xj@123456 -p 5432 -c "CREATE DATABASE xj_zssj;"c) 执行恢复vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp# 1. 先断开所有连接到目标数据库的会话 vsql -U vastbase -W Xj@123456 -p 5432 -c "clean connection to all force for database xj_zssj;" # 2. 再删除数据库 vsql -U vastbase -W Xj@123456 -p 5432 -c "DROP DATABASE xj_zssj;" # 3. 创建新数据库 vsql -U vastbase -W Xj@123456 -p 5432 -c "CREATE DATABASE xj_zssj;" # 4. 执行恢复 vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp其他可能有用的参数:-e 显示执行的SQL命令-v 详细模式-c 在恢复前清理数据库对象(但不包括数据库本身){/collapse-item}{lamp/}草稿备份vb_dump -U vastbase -W Xj@123456 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_sync_backup.dmp xj_zssj_syncvb_dump -U vastbase -W Xj@zssj123 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_backup.dmp xj_zssj恢复vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup_test/xj_zssj_backup.dmp恢复到dockervb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp{/collapse-item}{collapse-item label="折叠标题二"}sql黑屏执行 -- 1. 创建用户(Vastbase推荐使用CREATE USER) CREATE USER ixjkj WITH PASSWORD 'Xj@123456'; -- 2. 授予系统管理员权限(避免使用SUPERUSER,改用SYSADMIN) ALTER USER ixjkj WITH SYSADMIN; -- 3. 创建数据库并指定所有者 CREATE DATABASE xj_zssj WITH OWNER ixjkj;{/collapse-item}{/collapse}
2025年08月10日
8 阅读
0 评论
0 点赞
1
2
...
23