编辑
2025-08-10
环境部署
00

pgBackRest备份Lobechat

最终版:在 Docker 中为 PostgreSQL 搭建 pgBackRest 高可靠备份与恢复系统

核心策略

  • 备份方案: 每周日执行一次全量备份,每周一至周六执行一次增量备份。
  • 可靠性原则: 所有手动和自动化的 backup 命令均采用完整的命令行参数,不依赖任何可能产生歧义的配置文件读取,确保在任何环境下行为都完全一致。
  • 数据持久化: 所有备份数据、日志和配置均保存在宿主机,确保容器重建后数据不丢失。

第一部分:环境准备与容器部署

步骤 1.1: 准备宿主机目录与文件

  1. 创建目录结构:

    bash
    # 在宿主机上执行 mkdir -p /root/lobechat/pgbackrest/config mkdir -p /root/lobechat/pgbackrest/repo mkdir -p /root/lobechat/pgbackrest/logs
  2. 创建 pgBackRest 配置文件 (pgbackrest.conf):

    • 说明: 尽管我们的 backup 命令将不依赖此文件,但 archive-push 和其他一些工具仍可能使用它,保留此文件是最佳实践。
    bash
    # 在宿主机上执行 cat > /root/lobechat/pgbackrest/config/pgbackrest.conf <<'EOF' [global] repo1-path=/var/lib/pgbackrest log-path=/var/log/pgbackrest log-level-file=detail start-fast=y repo1-retention-full=4 # 保留最近的4个全量备份 (约一个月) [db_main] pg1-path=/var/lib/postgresql/data pg1-user=default pg1-database=verceldb EOF
  3. 配置 PostgreSQL 文件 (postgresql.conf):

    • 说明: archive_command 是唯一需要配置在 postgresql.conf 中的 pgBackRest 相关命令,它负责将 WAL 日志实时归档。

    编辑宿主机上的 /root/lobechat/config/postgresql.conf,确保包含以下三行:

    ini
    wal_level = replica archive_mode = on archive_command = 'pgbackrest --stanza=db_main --pg1-path=/var/lib/postgresql/data archive-push %p'
编辑
2025-05-03
资源
00

一、Java语言基础

  1. 《Java编程思想(第4版)》
    深入讲解Java语言的精髓和编程思想,是Java开发者的必读经典。

  2. 《Java核心技术 卷I:基础知识(原书第10版)》
    全面介绍Java基础知识,适合初学者深入理解Java核心。

  3. 《O'Reilly:Head First Java(中文版 第2版)》
    以生动有趣的方式讲解Java基础,适合零基础入门。

  4. 《Java 8实战》
    深入介绍Java 8的新特性,如Lambda表达式和流式API。

  5. 《Effective Java中文版(原书第3版)》
    提供了编写高质量Java代码的最佳实践和建议。

编辑
2025-05-01
工具
00

重生之逆势宠爱羽毛球

最近上班没那么忙了,公司的年度重大任务统筹支付也搞完稳定运行了,趁着五一,恢复了服务器上一些组件服务,闲来无事摸了摸羽毛球拍,又开始打球了~

于是,首先是恢复了抢场子服务,xmd,抢场大魔王又回来了 瑟瑟发抖叭

但现在,好多小伙伴不打了,就先部署两台即可,不用抢那么多,给别的社团留条活路

image.png

回想以前部署四台抢的盛况,那段时间真是抢场无敌手

image.png

羽毛球抢场服务前端优化

然后五一放假,顺带现在AI用Cursor重画下控制面板:职工羽球抢场 - 控制面板

相关信息

休息了大半年,最近又恢复了打羽毛球,刚好五一假期,来对服务的前端网页做个简单的优化:

简单来说做了样式调整,和做了功能区的分类:

1、抢场运行参数、服务运行配置、用户token信息配置这些归为了系统配置

2、可用场次查询、用户订单管理归为查询功能一类

3、分布式抢场工作机及分配的用户token保留在主页面,方便查看分配情况和调整,也便于日常普通订场手动触发

效果如图,展开查看

编辑
2025-04-23
Linux
00

Linux du (Disk Usage) 命令详解

du 命令是 Linux 系统中一个非常实用的工具,用于估算和显示文件或目录所占用的磁盘空间大小。它通过递归地遍历目录结构来统计空间使用情况。


基本语法

bash
du [选项] [文件或目录...]
  • 如果不指定 文件或目录,则默认统计当前所在目录。
  • 输出结果默认单位是 KB (Kilobytes),并且会递归显示所有子目录的大小。

常用选项

选项说明
-h易读格式 (Human-readable):以 KB, MB, GB 等更易于理解的单位显示大小。
-a显示所有 (All):不仅显示目录的总大小,也显示目录下每个文件的大小。
-s总计 (Summarize):只显示指定目录或文件的总大小,不显示其内部子目录或文件的详情。
-d N, --max-depth=N限制深度 (Max Depth):只统计到指定的目录层级深度 N。-d 0 等同于 -s-d 1 表示只看当前目录下一层。
-c总和 (Total):在列出所有项目的大小后,在最后一行额外显示一个所有项目的总和。
-k以 KB (1024 bytes) 为单位显示。
-m以 MB (1024*1024 bytes) 为单位显示。
--exclude=PATTERN排除:在统计时排除匹配指定模式的文件或目录。
-L跟踪符号链接 (Dereference):统计符号链接指向的源文件/目录的大小,而不是链接本身的大小。

编辑
2025-04-23
环境部署
00

内网测试服务器时间误差校正

切换到 root 用户

bash
su root

修改时钟对准配置

编辑配置文件:

bash
vim /etc/chrony.conf

添加或更新内容如下:

conf
# 添加新的服务器IP配置 server 158.xxx.xxx.254 iburst

重启时钟同步服务

bash
systemctl restart chronyd

查看时钟同步服务状态

bash
systemctl status chronyd