Shell脚本调快调慢系统时间(测试服务器时使用)

 更新时间:2014年12月27日 11:07:12   投稿:junjie  
这篇文章主要介绍了Shell脚本修改系统时间(测试服务器时使用),本文脚本用于调快或者调慢系统时间,需要的朋友可以参考下

公司近来服务器测试,需要经常调整系统时间,一两台还好半,稍微多点,就各种纠结了,笔者这几台都把笔者快弄疯了。老大一句话:全部调快3分钟...过会又全部调慢5分钟......然后咱们干活的,各种date 01021511....你懂的.于是为了解放生产力--代码如下:

复制代码 代码如下:

#!/bin/bash
# Author: MOS
# Script name: etime.sh
# Date & Time: 2013-01-02/21:47:58
# Version: 1.0.1
# Description:
#
#ntpserver
Tip='time.nist.gov'
 
# sync now system time, yes: $3="-u"  no: $3 is none.
if [[ "$3" == "-u" ]];then
    Tcmd='/usr/bin/rdate'
    [ ! -x $Tcmd ] && echo 'rdate not install!!' && exit 1
    "$Tcmd" -s "$Tip"
fi
 
# Modf
if [[ -n "$2" &&  "$1" == '-' || "$1" == '+' ]];then
    Func=$1
    [[ "$3" == "-s" ]] && Num=$2 || Num=$(($2*60))
    Ntime=`date +%s`
    Ltime=$(($Ntime$Func$Num))
    #Date=`/bin/date -d @"$Ltime" 2>/dev/null`
    #echo $Ltime
    Res=`date -d "1970-01-01 UTC $Ltime seconds" +%m%d%H%M%Y.%S`
    date
    date $Res
else
    echo 'First,input + or -;Second,input a number.'
    exit 2
fi

笔者已上传到附件,下载后,先给个执行权限,然后放到系统路径:

复制代码 代码如下:

[root@vpn1 scripts]# ls
casetup.sh  etime.sh
[root@vpn1 scripts]# chmod +x etime.sh
[root@vpn1 scripts]# mv etime.sh /bin/etime

用法格式如下:
复制代码 代码如下:

command [+|-] number [option]

笔者写的急,代码并非精炼,慎用:譬如,时间同步失败未作处理,number位置的严格限制等,用法示例如下:

1. 与时间服务器(time.nist.gov)同步 -u ,代码第九行,可根据您的位置,自行修改指定的时间服务器;如果您的rdate命令未安装至(/usr/bin/rdate),脚本会自动退出

复制代码 代码如下:

[root@vpn1 scripts]# date
Thu Jan  3 00:13:25 CST 2013
[root@vpn1 scripts]# etime + 0 -u
Wed Jan  2 16:13:29 CST 2013    #第一行输出为当前时间,使用-u参数时,时间更新顺序排在修改时间之前
Wed Jan  2 16:13:29 CST 2013    #第二行输出为修改为时间
[root@vpn1 scripts]# grep -n "time.nist.gov" /bin/etime
9:Tip='time.nist.gov'

2. 以当前系统时间为准,调快10分钟,默认以分钟为单位

复制代码 代码如下:

[root@vpn1 scripts]# etime + 10
Wed Jan  2 16:24:47 CST 2013
Wed Jan  2 16:34:47 CST 2013

3. 以当前系统时间为准,调慢20分钟,以秒为单位
复制代码 代码如下:

[root@vpn1 scripts]# etime - 600 -s
Wed Jan  2 16:36:27 CST 2013
Wed Jan  2 16:26:27 CST 2013

4. 以当前世界时间为准,调快50分钟,只能以分钟为单位
复制代码 代码如下:

[root@vpn1 scripts]# etime + 50 -u
Wed Jan  2 16:28:25 CST 2013
Wed Jan  2 17:18:25 CST 2013

另附俩个暂时可用的时间服务器:
复制代码 代码如下:

time.nist.gov
rdate.darkorb.net
time-b.nist.gov
ntp.openxid.com

写东西不容易,觉得还凑合的话,给个赞吧 (^-^) ..

相关文章

  • Shell编程条件测试的实现

    Shell编程条件测试的实现

    Shell脚本的条件测试可以用于测试字符串、文件状态和数字。本文就详细的介绍一下Shell编程条件测试,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • Shell别名的使用方法及管理技巧小结

    Shell别名的使用方法及管理技巧小结

    别名是一种将复杂命令简化为简单替代的方法,可用于简化命令,本文就来介绍一下Shell别名的使用方法及管理技巧小结,感兴趣的可以了解一下
    2023-09-09
  • 使用linux java shell启动脚本

    使用linux java shell启动脚本

    这篇文章主要为大家介绍了使用linux java shell启动脚本,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • expect实现单台、多台服务器批量scp传输文件

    expect实现单台、多台服务器批量scp传输文件

    这篇文章主要介绍了expect实现单台、多台服务器批量scp传输文件,本文提供了单台传输脚本、多台传输脚本及服务器信息配置文件,需要的朋友可以参考下
    2014-12-12
  • Shell脚本read用法实现

    Shell脚本read用法实现

    本文主要介绍了Shell脚本read用法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 一个监控网卡流量的shell脚本

    一个监控网卡流量的shell脚本

    这篇文章主要为大家分享一个简单的监控流量脚本,需要的朋友可以参考下
    2016-08-08
  • Linux shell脚本编程if语句的使用方法(条件判断)

    Linux shell脚本编程if语句的使用方法(条件判断)

    这篇文章主要介绍了Linux shell脚本编程if语句的使用方法,大家参考使用吧
    2013-12-12
  • shell脚本实现随机生成10个8位密码

    shell脚本实现随机生成10个8位密码

    这篇文章主要介绍了shell脚本实现随机生成10个8位密码的方法,这里推荐给大家,有需要的小伙伴的可以参考下。
    2015-03-03
  • Linux下Tomcat启动正常,但浏览器无法访问的解决方法

    Linux下Tomcat启动正常,但浏览器无法访问的解决方法

    下面小编就为大家带来一篇Linux下Tomcat启动正常,但浏览器无法访问的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • linux shutdown命令详解

    linux shutdown命令详解

    Windows 系统自带一个名为Shutdown.exe的程序,可以用于关机操作(位置在Windows\System32下),一般情况下Windows系统的关机都可以通过调用程序 shutdown.exe来实现的,同时该程序也可以用于终止正在计划中的关机操作
    2017-09-09

最新评论