利用网页内容同步Linux服务器时间(golang(go语言)、php方法)

当遇到多台服务器时间不一致导致的问题时,可以通过一个主服务器的时间来同步其他服务器。本文介绍了如何使用PHP和Go语言编写脚本来实现这一功能。PHP方案包括一个显示时间的time.php页面,而Go语言方案则需要编译成可执行文件settimelinux_linux,通过配置文件指定主服务器的时间URL。Go语言的优势在于无需额外环境部署,直接执行即可。

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

最近公司有多台服务器出现时间延时,导致服务启动出错或者延时等问题。
就和大家分享下用一台终端服务器的时间去同步各个服务器的方法(利用网页显示内容)
(我用golang或php去写脚本放到各个服务器上去设置他们的时间,因为原来我用Php写的后来觉得go语言比较方便直接执行就可以)
这方法需要一台服务器的时间作为主时间,把这台服务器的时间去同步到各个服务器上去。
首先简单的php网页去获取时间。

我准备了两台服务器
192.168.0.209(主)
192.168.1.8(需要设置时间的服务器)

主服务器:

php代码:time.php

<?php 
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s', time());
?> 

显示内容:
在这里插入图片描述
接着就是利用这个服务器的时间去同步到服务器上
有php和go语言的写法,都可以用选择一个就好。

192.168.1.8部署的文件执行方法

php settime.php

php:
settime.php

<?php
$file_path = "config.ini";
if(file_exists($file_path)){
$str = file_get_contents($file_path);//将整个文件内容读入到一个字符串中
$str = str_replace("\r\n","<br />",$str);
echo $str;
$url= $str;
$html= file_get_contents($url);
$dates = trim($html);
$shell = "date -s \"$dates\"";
echo $shell;
system($shell, $status);
if( $status )
{
echo "时间更新执行失败";
} else {
echo "时间更新成功执行";}
}
?>

配置文件:
config.ini:
http://192.168.0.209/time.php
就简单写个获取时间的网址就可以


golang(go语言):
settime.go

package main

import (
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
	"os"
	"os/exec"
	"time"
)

func main() {
	JsonParse := NewJsonStruct()
	v := Config{}

	//下面使用的是相对路径,config.json文件和main.go文件处于同一目录下
	JsonParse.Load("./config.jso
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值