当前位置: 首页 > 编程笔记 >

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

韩麒
2023-03-14
本文向大家介绍Shell脚本调快调慢系统时间(测试服务器时使用),包括了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


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

 类似资料:
  • 我正在尝试理解这些调度算法: 先到先得(FCFS) 最短作业优先(SJF) 最短剩余时间(SRT) 循环赛(RR) 因此,给定一些输入: FCFS将安排为。 我似乎无法弄清楚其余的。有人可以帮助我解释差异吗? 我试过谷歌搜索,但我为SJF得到的结果有点令人困惑。

  • 问题内容: 我需要在网页上添加时钟。时钟需要与服务器同步,但是我真的不希望它不断检查服务器,因为页面将在多台PC上以24/7的速度打开。是否有某种方法可以从服务器获取时间,然后使用系统时钟保持更新,并每隔15分钟左右检查一次服务器以保持同步? 问题答案: 我以前解决这个问题的方法是: 从服务器上花费时间, 立即从客户那里抽出时间 获取偏移量。 显示时钟时,将偏移量应用于客户端的当前时间。 您只需要

  • 本文向大家介绍Shell实现系统时间和BIOS时间同步校准脚本分享,包括了Shell实现系统时间和BIOS时间同步校准脚本分享的使用技巧和注意事项,需要的朋友参考一下 该脚本主要是从定义好的NTP服务器列表获取服务器地址进行同步,如果第一个不成功,会继续换下一个地址进行同步!不完善之处还请指出!

  • 本文向大家介绍Shell脚本注册到Linux系统服务实例,包括了Shell脚本注册到Linux系统服务实例的使用技巧和注意事项,需要的朋友参考一下 注册一个系统服务,开机自启动. 1 脚本编写 #vim test.sh 2注册服务 3.删除服务

  • 用途:使用php将命令直接输入minecraft服务器控制台 我正在尝试使用php脚本(从浏览器运行)来执行shell脚本。当我从终端运行php时,它就可以工作了!但在浏览器中,什么都不会发生。 从终端运行时,我得到一个“数组0”,但浏览器给我一个“数组1” 问题是什么?一旦我运行了shell,之后的一切不应该像在终端上一样工作吗?(shell脚本内部的内容是否重要?) shell拥有所有rx权限

  • 我们将MySQL connector J从5.1.46版本升级到8.0.16。我们的web服务器时区是UTC,现在mysql服务器在IST时区,在升级驱动程序之前,驱动程序的时间戳列值只在UTC中持久化(使用hibenate),但是在移动到J8驱动程序之后,它被保存到mysql服务器时区,即IST。 我们只希望以UTC形式存储/提取时间戳值。