如何使用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'

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

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

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

本文出自 “自强不息” 博客,请务必保留此出处http://mos1989.blog.51cto.com/4226977/1106272

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索cst
, vpn+脚本
, root
, 时间
, 2013
, scripts
, 分钟
shell脚本调试
shell脚本调试、shell脚本调试工具、如何调试shell脚本、shell脚本调试方法、怎么调试shell脚本,以便于您获取更多的相关知识。

时间: 2024-12-20 17:24:21

如何使用shell脚本调试时间的相关文章

怎么通过java去调用并执行shell脚本以及问题总结

该文章来自阿里巴巴技术协会(ATA)精选集 背景 我们在开发过程中,大部分是java开发, 而在文本处理过程中,主要就是脚本进行开发. java开发的特点就是我们可以很早地进行TDDL, METAQ 等等地对接: 而脚本开发的特点就是在进行批处理的时候非常方便. 前阵子我遇到这么一个需求场景: 对抓取的数据进行打包, 后来又遇到我要通过脚本进行抓取,比如nodejs下基于phantomjs的casperjs爬虫. 解决方法 对于第一个问题:java抓取,并且把结果打包.  那么比较直接的做法就是

怎么用shell脚本遍历数据库某个表,一个字段下的所有内容

问题描述 怎么用shell脚本遍历数据库某个表,一个字段下的所有内容 数据库为mysql 就是遍历一列上所有的内容,然后判断是否等于某个值,取出这个字段对应的其他字段的值. 解决方案 听你的意思应该就是: select * from 表名 where 列名=某个值; 解决方案二: 直接用sql语句来遍历判断条件查询数据好了

shell 自动重启nginx php shell脚本

shell 自动重启nginx php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

生产环境Shell脚本Ping监控主机是否存活(多种方法)

在网上针对shell脚本ping监控主机是否存活的文档很多,但大多都是ping一次就决定了状态,误报率会很高,为了精确判断,ping三次不通再发告警,只要一次ping通则正常.于是,今天中午抽出点时间总结了下面脚本. 脚本功能:通过Ping命令监控主机是否存活,如果ping失败则继续ping,三次不通就认为主机宕机或网络有问题,这时就可以发送邮件告警了. 方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/bin/bash

将PHP作为Shell脚本语言使用

脚本 本文出自:http://phpuser.com 作者: y10k翻译 (2002-10-15 06:02:00) --英文原著:Darrell Brogdon,发表于 http://www.phpbuilder.com/columns/darrell20000319.php3) 可能很多人都想过使用PHP编写一些定时发信之类的程序,但是却没有办法定时执行PHP:一次去PHPBuilder的时候,发现了这一篇文章,于是想给大家翻译一下(同时做了一些修改),希望对大家有用.第一次翻译文章,不好

PHP教程之PHP中shell脚本的使用方法

我们都知道,在计算机科学中,SHELL类似于DOS下的command.com.它接收用户命令,然后调用相应的应用程序.同时它又是一种程序设计语言.作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支. PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论.大多数情况下,我使用 exec() 命令和数据数组处理所有东西.或者对

一键启动集群的shell脚本

一键启动集群的shell脚本,包括HDFS HA + YARN相关所有程序,FBI00X是主机名,供大家参考: #!/bin/bash echo "-------------------------Step1----------------------------" echo "Now,starting Zookeeper." ssh FBI001 $ZOOKEEPER_HOME/bin/zkServer.sh start ssh FBI002 $ZOOKEEPER

用于监控网站是否异常的shell脚本

shell 监控网站是否异常的脚本,如有异常自动发电邮通知管理员. 流程: 1.检查网站返回的http_code是否等于200,如不是200视为异常. 2.检查网站的访问时间,超过MAXLOADTIME(10秒)视为异常. 3.发送通知电邮后,在/tmp/monitor_load.remark记录发送时间,在一小时内不重复发送,如一小时后则清空/tmp/monitor_load.remark. #!/bin/bash SITES=("http://web01.example.com"

提前认识软件开发(22) shell脚本中的文件操作

编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据.向文件追加一行数据等.完成文件读写操作的方法有很多,了解各种命令下文件操作的执行情况,有助于开发人员在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了参考. 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达1000万行级,这就涉及到对程序执行方法和效率等的考虑. 本文比较了不同shell命令在对文件进行读或写操作过程中执行效率