[linux]通过ssh远程设定各服务器时间,从而实现集群时间同步

#!/usr/bin/env bash

 

#all hosts should to  sync time, all hosts should no password login echo other

synchosts_array=("xufeng-1" "xufeng-2")

 

#currnt time in this host

currentDay=`date "+%Y-%m-%d"`

currentTime=`date "+%H:%M:%S"`

echo "current day in this host is "

echo $currentDay

echo "current time in this host is "

echo $currentTime

 

 

#loop host to set time

for hostname in ${synchosts_array[*]}

do

    echo $hostname

    ssh -t $hostname bash -c "'date -s '$currentDay' &&hwclock --systohc'"

    ssh -t $hostname bash -c "'date -s '$currentTime' &&hwclock --systohc'"

done

 

 

在某个节点上配置任务调度周期即可:

crontab -u root -e

*/1 * * * * /opt/software/rootbin/synctime.sh >> /opt/software/rootbin/synctime.log

每分钟执行一次。

原文地址:https://www.cnblogs.com/ios123/p/5715471.html