局域网服务器时间同步

1.将一台能够上网的服务器作为时间服务器: 

# /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互联网时间服务器同步 

# /etc/init.d/ntpd start //启动时间服务器 

# vi /etc/cron.weekly/rdateweekly.sh //设置计划任务,每周同步一次时间 

---------------------------------------- 

#!/bin/sh 

/usr/bin/rdate -s time-b.timefreq.bldrdoc.gov 

---------------------------------------- 

# chmod a+x /etc/cron.weekly/rdateweekly.sh 

# setup     //将ntpd设置成为开机自启动 

# vi /etc/sysconfig/iptables //修改防火墙使允许时间服务器通信 

---------------------------------------- 

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 123 -j ACCEPT 

---------------------------------------- 


2.设置局域网内其它服务器与该时间服务器同步 

# ntpdate 192.168.1.1 //该IP为上面的时间服务器IP 

# vi /etc/cron.weekly/ntpdateweekly.sh //设置计划任务,每周同步一次时间 

---------------------------------------- 

#!/bin/sh 

/usr/sbin/ntpdate 192.168.1.1 

---------------------------------------- 

# chmod a+x /etc/cron.weekly/ntpdateweekly.sh 


3.客户端使用ntpdate与NTP服务器进行时钟同步时,报错“the NTP socket is in use, exiting”,如下:
[root@h3 vdsm]# ntpdate 192.168.1.190 21 Feb 03:04:30 ntpdate[19759]: the NTP socket is in use, exiting

原因:ntp服务已运行
解决办法:
# /etc/init.d/ntpd stop
Shutting down ntpd:                                       

ntpdate 192.168.0.253
21 Feb 03:06:55 ntpdate[19961]: step time server 192.168.0.253 offset 46.911562 sec(成功)



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1734586,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是AI语言模型,无法实际运行程序,以下是一段伪代码,供参考: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <curl/curl.h> // 使用curl库进行网络通信 int main() { // 定义RTSP服务器地址和端口号 char* rtsp_url = "rtsp://192.168.1.100:554/time"; // 初始化curl库 curl_global_init(CURL_GLOBAL_ALL); CURL* curl_handle = curl_easy_init(); // 设置curl的选项 curl_easy_setopt(curl_handle, CURLOPT_URL, rtsp_url); // 设置URL curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, NULL); // 设置回调函数 curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, NULL); // 设置回调函数的参数 // 发送RTSP请求,获取服务器时间 CURLcode res = curl_easy_perform(curl_handle); if(res != CURLE_OK) { fprintf(stderr, "Failed to get server time: %s\n", curl_easy_strerror(res)); return 1; } // 关闭curl库 curl_easy_cleanup(curl_handle); curl_global_cleanup(); // 解析服务器返回的时间信息 char* time_str = "2022-01-01 00:00:00"; // 服务器返回的时间字符串 struct tm server_time; strptime(time_str, "%Y-%m-%d %H:%M:%S", &server_time); // 解析时间字符串为tm结构体 // 获取当前本地时间 time_t local_time = time(NULL); struct tm* local_tm = localtime(&local_time); // 计算时间差,调整本地时间 time_t time_diff = mktime(&server_time) - mktime(local_tm); time_t new_local_time = local_time + time_diff; struct tm* new_local_tm = localtime(&new_local_time); // 输出同步后的时间 printf("Server time: %s\n", time_str); printf("Local time: %s", asctime(new_local_tm)); return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值