前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何解决FreeSWITCH时间不正确的问题

如何解决FreeSWITCH时间不正确的问题

作者头像
Seven Du
发布2023-02-28 12:31:51
2K0
发布2023-02-28 12:31:51
举报

如果遇到服务器的时间与北京时间相差八小时(FS及话单时间也与标准时间相差八小时)

解决方法如下:

第一步:修改Debian系统时间

在Linux系统中主要的就是使用tzselect命令来选择时区。要注意的是tzselect只是帮我们把选择的时区显示出来,并未实际生效也就是说它仅仅告诉我们怎样去设置环境变量TZ。

  • 输入tzselect (会出来几个大洲的英文名字)
  • 输入相对应的大洲的序号
  • 会显示出相应大洲中国家的英文名字,输入相应的序列号
  • 输入序列号之后会显示出相应国家城市的序列号,输入相应的序列号
  • 输入TZ=‘Asia/Shanghai’这一行命令
  • 输入export TZ这一行命令
  • 输入date命令就可以查看当前的时间

下面补充关于date的相关知识点:

时区:

查看当前时区:date -R

修改设置时区:

  • tzselect
  • timeconfig:仅限于RedHat Linux 和CentOS
  • dpkg-reconfigure tzdata:适用于Debian

复制相应的时区文件,替换系统时区文件或者创建链接文件

代码语言:javascript
复制
cp /usr/share/coneinfo/$主时区/$次时区 /etc/localtime

在中国可以使用

代码语言:javascript
复制
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

时间:

查看时间和日期:date

设置时间和日期:

将系统日期设定为1996年6月10日的命令:

代码语言:javascript
复制
 date -set=“1996-06-10 01:01:01″ //这样可以设置全部时间

第二步:修改FS系统时区

修改完Debian系统时间,可进入如下目录中编辑variables.xml文件

代码语言:javascript
复制
vim /usr/local/freeswitch/conf/variables.xml

只需要添加如下一行内容即可

代码语言:javascript
复制
<X-PRE-PROCESS cmd="set" data="timezone=Asia/Shanghai">

在FreeSWITCH控制台中可以执行如下命令

代码语言:javascript
复制
fsctl sync_clock

第三步:修改Postgres数据库时间

如果使用SQL数据库改完了FS的时间就无需进行其他操作。

如果使用PG数据库则需要重新设置数据库时间,步骤如下:

  • su - postgres
  • psql
  • select now();

执行完上述步骤就可以查看数据库中的时间

执行set time zone 'PRC';重新查询及时生效

想要永久生效的pgdata下的postgresql.conf需在配置里修改两项:

log_timezone = 'PRC'

timezone = 'PRC'

修改之后重启数据库,命令如下:

/etc/init.d/postgresql restart

修改Docker时间

命令行启动时设定时区docker run --rm -it -e TZ='Asia/Shanghai' debian bash

将宿主机与容器的时间进行挂载

-v /etc/localtime:/etc/localtime

进入容器内设定时区

  • 进入容器:docker exec -it name /bin/bash
  • rm /etc/localtime
  • ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档