我向团队中的每个人提供了一个centos 7虚拟机的副本。时间可能会不同步。我发现我可以使用以下命令手动更新时间:
[no_sudo@rolling ~]$ ntpdate pool.ntp.org
26 Apr 18:10:11 ntpdate[25928]: bind() fails: Permission denied
[no_sudo@rolling ~]$
但是我只能将其更新为sudo。我为团队制作的命令之一运行了一些自动化测试,并使用date.time作为名称。
如何以太网自动更新虚拟机上的时间,或者更改该服务的权限,以便任何人都可以无论运行它还是权限。
谢谢!
答案 0 :(得分:1)
"我如何在虚拟机上自动更新时间"
ntp守护程序ntpd
应该处理这个问题。当然它在运行?
# start the ntp daemon
/etc/init.d/ntpd start
您还可以在root用户的crontab中添加每日或每小时的条目来更新时间:
# To edit root's crontab
sudo crontab -e
# Add this line to run the command every day at noon (change as needed):
* 12 * * * /usr/sbin/ntpdate
"更改该服务的权限,以便任何人都可以运行它"
这破坏了安全模型。但是,如果允许用户使用sudo
,则可以允许无密码执行该单个可执行文件,因此不会阻止您的脚本:
# To edit the sudoers file:
sudo visudo
# Then add something like this depending on the location of ntpdate:
username ALL= NOPASSWD: /usr/sbin/ntpdate
答案 1 :(得分:0)
您应该配置并使用ntpd
代替ntpdate
。
答案 2 :(得分:0)
\#!/bin/sh
\#script to set the time using google - my ISP is blocking access to ntp server! major bummer!! :(
HOST="www.google.co.ke"
ping -q -c 2 $HOST > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "----\`date\`---------------------FAILURE----------------------------------"
echo "Failure: \`date\` -- $HOST is is DOWN! >>> better luck next time!"
else
echo "****\`date\`*********************BEGIN: SUCCESS*********************************"
mydateold="\`date\`"
echo "Success: \`date\` -- $HOST is UP >>> set the time!"
date -s "$(date -d "\`curl http://www.google.co.ke -v 2>&1 | grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}'\`")"
mynewdate="\`date\`"
echo "Success: \`date\` >>> Date updated: OLD DATETIME: $mydateold and NEW DATETIME:
$mynewdate"
echo "****\`date\`*********************END: SUCCESS***********************************"
fi
\#EOF
\#Powered By Slackware Linux :)