Linux时间处理总结

1.前言。

  如题。linux时间处理将集中放在本篇。

  2.总结。

  (1)linux的ntpdate,tcp,udp,http等校正都有可能被拒绝,或者由于各种版本配置的复杂性,导致都不能同步时间,但有些虚拟机或者物理机linux确实时钟走慢了,如何校正?写定时shell将时间差定时补回来是个通用可行的方案。这有三个步骤,写个shell脚本

  本例子实现了每20分钟将时差增加3分钟。

  如:步骤一编写修改时间的步骤test.sh代码如下:


echo $(date +"%H:%M" ) > /root/home/timeSyn/test.txt

time1=$(date -d '3 minutes' +"%H:%M" )

echo $time1 > /root/home/timeSyn/test1.txt

date -s "$time1"

exit

  然后,步骤二,再执行 crontab -e,把这个shell加入定时任务,编辑内容为:

*/20 * * * *  /root/test/test.sh

  最后,步骤三执行如下代码,将定时任务重启


/sbin/service crond restart

ok!

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-24 21:03:51

Linux时间处理总结的相关文章

linux时间函数详解

我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年.月.日.时.分.秒,星期等 ),或者是隔一段时间去做某事,那么我们就用到一些时间函数. linux下存储时间常见的有两种存储 方式,一个是从1970年到现在经过了多少秒,一个是用一个结构来分别存储年月日时分秒的. time_t 这种类型就是用来存储从1970年到现在经过了多少秒,要想更精确一点,可以用结构struct timeval,它精确 到微妙. struct timeval { long tv_sec ; /*秒*/ lon

Linux时间转化方法

  Linux时间转化方法: (1)date -d"2008年 12月 17日 星期三 17:27:22 CST" +"%s" 该命令将2008年 12月 17日 星期三 17:27:22 CST转化为时间戳 结果:1229515680 (2)将时间戳1123495443 换算成可以识别的年月日分秒 date -d '1970-01-01 UTC 1123495443 seconds' 结果:2005年 08月 08日 星期一 18:04:03 CST (3)dat

Linux时间时区、常用时间函数、整形时间计算思路详解

Linux时间时区详解与常用时间函数 时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. Ø  UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. Ø  UTC时间与本地时间 UTC + 时区差 = 本地时间 时区差东为正,西为负.在此,把东八区时区差记为 +0800 UTC + (+0800) = 本地(北京)时间 Ø  UTC与Unix时间戳 在计算机中看到的UTC时间都是从(1970年01月0

Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】

转自:http://blog.csdn.net/droidphone/article/details/8112948 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 数据结构 低分辨率下的动态时钟 1  切换至动态时钟模式 2  低分辨率动态时钟下的事件中断处理函数 3  动态时钟停止周期tick时钟事件 3  动态时钟重新开启周期tick时钟事件 高精度模式下的动态时钟 动态时钟对中断的影响   在前面章节的讨论中,我们一直基于一个假设:Linux中的时钟事件都是由

Linux时间函数之gettimeofday()函数之使用方法

一.gettimeofday()函数的使用方法: 1.简介: 在C语言中可以使用函数gettimeofday()函数来得到时间.它的精度可以达到微妙 2.函数原型: #include<sys/time.h> int gettimeofday(struct  timeval*tv,struct  timezone *tz ) 3.说明: gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中 4.结构体: 1>timeval struct  ti

Linux时间函数及编程

所有的操作系统的运行都涉及到时间管理,一般包括:系统时间和时间计时器,linux下关于这两个也有对应的API来得到它们,下面具体描述一下: 1)linux下如何得到系统时间及特点: time_t time(time_t* tloc); //说明: 通过参数和返回值,传递从1970年1月1日0时整到现在经历的秒数. 2)各种操作time( )返回值的API:        //得到格林威治时间 struct tm* gmtime(const time_t* timep); //得到当前时区时间 s

linux 时间管理——概念、注意点(一)【转】

转自:http://www.cnblogs.com/openix/p/3324243.html 参考:1.http://bbs.eyeler.com/thread-69-1-1.html                                                                                    2.<Linxu Kernel Development>3ed_CN p166~p185         3.<Professional

Linux时间子系统之一:clock source(时钟源)【转】

转自:http://blog.csdn.net/droidphone/article/details/7975694 clock source用于为linux内核提供一个时间基线,如果你用linux的date命令获取当前时间,内核会读取当前的clock source,转换并返回合适的时间单位给用户空间.在硬件层,它通常实现为一个由固定时钟频率驱动的计数器,计数器只能单调地增加,直到溢出为止.时钟源是内核计时的基础,系统启动时,内核通过硬件RTC获得当前时间,在这以后,在大多数情况下,内核通过选定

Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()【转】

  转自:http://blog.csdn.net/droidphone/article/details/8104433 我们已经在前面几章介绍了低分辨率定时器和高精度定时器的实现原理,内核为了方便其它子系统,在时间子系统中提供了一些用于延时或调度的API,例如msleep,hrtimer_nanosleep等等,这些API基于低分辨率定时器或高精度定时器来实现,本章的内容就是讨论这些方便.好用的API是如何利用定时器系统来完成所需的功能的. /*************************