嵌入系统中设置时区 环境变量TZ的使用

RT7628的LINUX 2.6.36配置中无时区信息,系统时钟默认是UTC时间(0时区)。在应用和调试时,需RTC和显示时钟同步,可通过系统环境变量TZ设置时区,如东8区可设置为export TZ=CST - 8等,设置后localtime函数返回时区时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RT7628 的LINUX 2.6.36 配置中, 没有配置时区信息.
系统时钟默认为 UTC 时间,也就是默认为 0时区;
查看系统时区:
date -R

Thu, 01 Jan 1970 00:05:30 +0000
后面的 +0000 表示为0时区;

在应用和调试中, 需要RTC 和 显示时钟做同步.
可以用系统环境变量 TZ 来设置时区;
TZ=CST+/-hhmm 或 hh:mm
如:
东8区设置;
export TZ=CST-8

export TZ=CST-0800

export TZ=CST-8:00

西830设置;
export TZ=CST+0830
这样, localtime™ 函数返回就是时区时间了;

date -R
Thu, 01 Jan 1970 08:05:45 +0800

为了实现在Docker容器中每10秒输出一次字符串“Huawei”,并且不使用`docker attach`和`docker exec`命令,你可以通过修改启动容器的方式,在创建容器时指定其运行的任务为一个循环打印脚本。以下是具体的步骤: ### 方案一:基于自定义入口点 (ENTRYPOINT) 或者 命令 (CMD) #### 创建并构建镜像 首先编写一个简单的Shell脚本来完成定时任务,并将该脚本嵌入到一个新的Dockerfile当中。 ```shell # 打印内容的sh文件 print.sh 内容如下: #!/bin/sh while true; do echo "Huawei" sleep 10 done ``` 然后创建对应的 `Dockerfile` 文件: ```Dockerfile FROM alpine:latest # 使用轻量级的基础镜像 COPY ./print.sh /usr/local/bin/print.sh # 将本地的 Shell 脚本复制进镜像内部 RUN chmod +x /usr/local/bin/print.sh # 确保脚本有可执行权限 ENTRYPOINT ["/usr/local/bin/print.sh"] # 设置此脚本作为默认启动程序 ``` 接着就可以利用这个 Dockerfile 来构建新的镜像了: ```bash $ docker build -t my-print-image . ``` 最后一步是直接从新生成好的镜像启动容器;由于我们将需要的行为设置成了 ENTRYPOINT ,因此不需要额外提供命令参数即可达到目的。 ```bash $ docker run --name printer-container -d my-print-image ``` 此时便有一个后台运行的服务进程正在按设定的时间间隔持续向标准输出流发送信息 “Huawei”。 --- ### 方案二:使用crontab服务 如果你希望更灵活地管理周期性任务,则可以考虑基于cron调度工具来代替无限循环结构。 先安装 cron 工具包,之后编辑 `/etc/crontab` 添加类似下面的一行配置(这里假设我们已经在容器里有了 print.sh 文件) ```text */1 * * * * root /usr/local/bin/print.sh >> /var/log/huawei.log 2>&1 ``` >注意:这种方法下你需要保证 Cron 守护进程处于活动状态。对于某些精简版Linux发行版本来说,默认是没有开启这项功能的。所以你还需要确保cron服务正常工作,比如添加 `-e TZ=Asia/Shanghai` 指定时区环境变量,并在启动容器之前激活它(如果必要的话)。此外还要处理好日志位置与访问控制等问题。 方案二是较为复杂的选择,但对于长期维护项目而言提供了更大的灵活性。 这两种方法都可以满足需求而无需依赖于交互式的会话连接手段如`docker exec`或者`attach`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值