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

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

时间: 2014-12-24

Shell脚本实现根据文件的修改时间来分类文件

#!/bin/bash # exctute # ./mod.sh file_type input_folder output_folder # ./mod.sh *.txt /tmp /data/ # paramater count if [ ! $# -eq 3 ]; then echo "[ERROR] error paramater." exit fi # file type file_type="${1}" # input foloder if [ -d &

shell脚本返回值及其使用场景的实现

应用场景 在一些应用中(比如Jenkins),嵌入了shell脚本,系统通过shell脚本的返回值来判断执行结果,如果返回值非0,则发生了执行错误,需要中止执行,这在使用单个命令时没有问题.然而,在shell (A)脚本又调用了shell脚本文件(B )时,当被调用的shell脚本B执行过程中发生了错误时,系统不会认为B有问题,而是继续往下执行.这样就会掩盖了问题. 解决 在被调用的shell脚本B中返回错误代码,当被调用的shell脚本B中发生错误时,捕捉该错误代码,然后返回该错误代码,这样系

Shell实现系统时间和BIOS时间同步校准脚本分享

该脚本主要是从定义好的NTP服务器列表获取服务器地址进行同步,如果第一个不成功,会继续换下一个地址进行同步!不完善之处还请指出! 复制代码 代码如下: #!/bin/bash # NTP网络时间校正脚本 # 奔跑 #NTP服务器数组列表 ntpServer=( [0]=ntp.fudan.edu.cn [1]=asia.pool.ntp.org [2]=210.72.145.44 [3]=133.100.11.8 [4]=ntp.sjtu.edu.cn [5]=time.scau.edu.cn

Shell脚本实现检测Cygwin最快的镜像站点

这是一个 shell 脚本,所以首先你需要安装一个基本的 Cygwin 环境,当然还有 curl. 原理很简单,先从 cygwin.com 下载最新的 mirrors.lst 镜像列表,简单处理一下后,利用 curl 以此检测每个站点的连接速度,并将结果记录下来,最后再排个序,显示出最快的几个站点. 在使用的过程中,我发现检测到的最快的 mirror,实际上使用速度并不一定是最快的,这可能和服务器有关系,毕竟 curl 检测的时间只是读取 mirror 首页的时间.不过每个 mirror 一般都

Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)

前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.Shell代码 #

python脚本设置超时机制系统时间的方法

本文为大家介绍了python脚本设置系统时间的方法,一共有两种,其一是调用socket直接发送udp包到国家授时中心,其二是调用ntplib包.我在本地电脑ping 国家授时中心地址cn.pool.ntp.org有时出现丢包,然而,二者都没有检查udp是否丢包的机制,方法一在udp丢包后一直处于阻塞状态无法退出,方法二虽然会提示超时,但是不再做其它尝试,比如重新发包,或者向同一个域名的不同IP地址发包.于是,尝试在方法一的代码基础上,增加了超时机制,并且尝试向同一个域名的不同IP地址发包. 具体

python脚本设置系统时间的两种方法

本文为大家分享了两种python脚本设置系统时间的方法,供大家参考,具体内容如下 第一种方法,使用Python设置系统时间,即给系统校时 #电脑时间用了一段时间后,系统时间不准了,想更新一下 #在windows里面,更新系统时间,时常失败,而且速度很忙. #在网上拷贝的代码,发现很好用,比windows自带的实现要快. #-*- coding:utf-8 -*- import socket import struct import time import win32api TimeServer

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置. linux的系统安全设 置Shell脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件, 比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了! 复制代码 代码如下: #!/bin/sh# desc: setup linux system securit

Shell脚本实现自动检测修改最快的Ubuntu软件源

每次装好Ubuntu,对于大多数用户来说,首先要做的事就是手动修改/etc/apt/sources.list文件,将里面的官方软件源地址更换为自己学校或者公司的软件源.当我们更换一个工作环境后,可能伴随着又要替换旧的软件源地址. 笔者觉得这样每次手动更改软件源是一件及其麻烦重复的劳动,于是编写了一个自动更新最快软件源的脚本,从此一劳永逸. 原理 最直观的想法就是:对各个软件源进行测速,选出最快的那个,之后将其替换为新的软件源. 那么如何对各个软件源测速呢?有两种方法: 一.用ping命令 测量其