中国区用户【acme.sh.log日志文件凌晨时间】展示12小时制时间引起误解
parent
28c3c0bbd2
commit
007226fc25
53
说明.md
53
说明.md
|
@ -300,51 +300,20 @@ docker run --rm -it \
|
|||
|
||||
上述例子中使用 Cloudflare 的 DNS 来签发证书,并通过把 acme.sh 链接到容器[代理A],来转发 curl 请求(请按照自己实际设定修改)
|
||||
|
||||
# 9. acme.sh.log日志文件时间差矫正:
|
||||
## 时间差问题:
|
||||
# 9. acme.sh.log日志文件时间展示问题:
|
||||
## 问题说明:
|
||||
证书每 60 天更新一次(可自定义),自己通过`/用户名/.acme.sh/acme.sh.log`路径下的日志实测查看:
|
||||
会在**中午**检查并生成检查记录:`[12:48:01 AM CST 2025] Running cmd: cron......`
|
||||
可官方文档明明指出,会在**每日凌晨**自动检查并生成检查记录。自己再次通过linux系统查看`acme.sh.log`的更新时间,的确是**每日凌晨**。那就说明.acme.sh运行时在中国产生了时差。
|
||||
## 解决方案:
|
||||
1. 在 `account.conf` 中指定时区环境变量
|
||||
- 编辑 `acme.sh` 的配置文件 `~/.acme.sh/account.conf`,添加以下行:
|
||||
```shell
|
||||
export TZ='Asia/Shanghai'
|
||||
```
|
||||
- (如果文件已存在其他配置,直接追加即可)
|
||||
2. 让配置生效
|
||||
- 执行以下命令,使 `acme.sh` 重新加载配置并生成新日志:
|
||||
```bash
|
||||
acme.sh --renew-all --force
|
||||
```
|
||||
- 或针对特定域名强制更新:
|
||||
```bash
|
||||
acme.sh --renew -d yourdomain.com --force
|
||||
```
|
||||
3. **验证日志时间**
|
||||
- 查看 `acme.sh.log` 日志文件,确认时间是否已修正:
|
||||
```
|
||||
tail -f ~/.acme.sh/acme.sh.log
|
||||
```
|
||||
## 附加说明:
|
||||
|
||||
- **原理**:通过 `export TZ='Asia/Shanghai'`,强制指定 `acme.sh` 运行时的时区环境变量,覆盖系统默认时区,确保日志时间与本地时间一致。
|
||||
- **适用场景:**
|
||||
- 系统时区已正确设置,但 `acme.sh` 因运行环境(如 `cron` 任务、Docker 容器)未继承时区。
|
||||
- 日志服务(如 `rsyslog`)未使用本地时间记录日志。
|
||||
- **【可选】通过命令参数矫正时区:**
|
||||
1. **若通过 `cron` 自动续签**
|
||||
- 在 `cron` 任务中直接指定时区变量,确保任务运行时环境正确:
|
||||
```bashCopy
|
||||
0 0 * * * export TZ='Asia/Shanghai'; /path/to/acme.sh --renew-all
|
||||
```
|
||||
2. **若使用 Docker 运行 `acme.sh`**
|
||||
- 在启动容器时添加时区参数:
|
||||
```bash
|
||||
docker run -e TZ=Asia/Shanghai neilpang/acme.sh
|
||||
```
|
||||
小结:通过上述配置,日志时间应能正确对齐本地时间。若问题仍存在,请检查系统全局时区或容器运行时环境是否冲突。
|
||||
可官方文档明明指出,会在**每日凌晨**自动检查并生成检查记录。自己再次通过linux系统查看`acme.sh.log文件`的更新时间,的确是**每日凌晨**。那就说明.acme.sh【运行或展示】时在中国产生了时差。
|
||||
## 结论概述:
|
||||
运行或展示均无问题!
|
||||
而是中文语境对英文的12小时制时间有些人会有误解,所以正确结论是:
|
||||
12小时制将一天分为两组12小时(AM和PM),其小时数字范围是 1至12,而非24小时制的0至23
|
||||
凌晨0:30 | 00:30(24小时制) | 【正确】12:30 AM | 【错误】00:30 AM | 混淆24小时制与12小时制的数字规则
|
||||
中午12:30 | 12:30(24小时制) | 【正确】12:30 PM | 【错误】00:30 PM | 误将正午后的时间归为AM时段
|
||||
|
||||
## 原因分析:
|
||||
如果你的服务器是12小时制,那acme.sh.log日志文件也会跟着展示12小时制时间。据说acme.sh.log日志文件本身默认是24小时制的。
|
||||
***
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue