如果遇到服务器的时间与北京时间相差八小时(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
复制相应的时区文件,替换系统时区文件或者创建链接文件
cp /usr/share/coneinfo/$主时区/$次时区 /etc/localtime
在中国可以使用
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
时间:查看时间和日期:date
设置时间和日期:将系统日期设定为1996年6月10日的命令:
date -set=“1996-06-10 01:01:01″ //这样可以设置全部时间
第二步:修改FS系统时区
修改完Debian系统时间,可进入如下目录中编辑variables.xml文件:
vim /usr/local/freeswitch/conf/variables.xml
只需要添加如下一行内容即可
<X-PRE-PROCESS cmd="set" data="timezone=Asia/Shanghai">
在FreeSWITCH控制台中可以执行如下命令
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
作者:杜林君 FreeSWITCH中文社区
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。