FreeBSD命令 lastcomm介绍 1


◎前言

  不知道大家是否有时候会像我一样会去看看系统在跑些啥东西呢?

  这时发现了一个很特殊的咚咚...adjkerntz-i 

  你是不是也曾经看过但忽略了呢?

  ◎名称

  adjkerntz-调节改变CMOS时间来反映出时区的改变及让kernel维持着当前的时区..

  ◎语法

  adjkerntz-i

  adjkerntz-a[-s]

  ◎叙述

  adjkerntz在kernel及CMOS时间中维持适当的关,

  kernel时间是以UTC为准,而CMOS时间是以当地时间为准。

  :UTC=世界标准时间(格林威治时间)

  adjkerntz主要的目的在於维护同一机器中,

  FreeBSDMS-DOS档案系统及MS-DOS作业系统的时间一致。

  若/etc/wall_cmos_clock这个档案存在,那表示CMOS时间设定於当地时间;

  若档案不存在,那表示CMOS时间被设定为UTC时间。

  adjkerntz将这个状况导入machdep.wall_coms_clockkernelvariable。

  ◎参数

  时间调节在系统开机及关机,以及时区改变时是很需要的。

  为了要处理不同的状况,adjkerntz可以以两种方式执行。

  -i 这个形式处理系统开机及关机。

  在进入多人模式,在任何其他服务启动前,

  adjkerntz以/etc/rc启动,并放入背景执行,

  然後,adjkerntz透过CMOS读取当地时间,并且将时间设定为UTC时间。

  adjkerntz会一直以daemon的形态於背景执行,直到他收到SIGTERM讯息。

  SIGTERM讯息通常会在系统离开多人模式之後由init送出。

  (通常是系统shoutdown造成系统离开多人模式)

  在收到SIGTERM讯息之後,adjkerntz读取UTCkernel时间,

  并且更新CMOS时间。

  若可能的话,结束前会确保CMOS时间能够反应正确的当地时间。

  -a[-s]当时区改变时,这个形态被用来更新CMOS当地时间,

  及kerlnelmachdep.adjkerntzvariable,

  例如:

  当进入或结束日光节约时间,adjkerntz使用kernel时间的UTC时间,

  储存先前时区,并改变时区规则来计算新的时区。

  adjkerntz储存新的设定到machdep.adjkerntzkernelvariable,

  并且更新CMOS时间。

  若adjkerntz-a在一个不存在的时区(在时区改变时)被启动,

  adjkerntz在结束时会显示警告的讯息,除非-s参数被使用,

  在这种情况下,adjkerntz会休息(sleep)30分钟然後重新尝试。

  这个形式(adjkerntz-a),在root的crontab中,於

  每次午夜前的半个小时及5am当许多现在时区改变时被启动。

  实际上的状况如下.../etc/crontab显示

  ◎相关档案

  /etc/localtime    目前时区资讯档案。

  /etc/wall_cmos_clock 空白档案。

  此档存在表示机器的CMOS时间被设定在当地时间。 

  此档若不存在表示使用UTCCMOS时间。

  ◎相关讯息

  平时不会有任何讯息,若有任何错误发生,

  adjkerntz会经由syslog记录错误讯息,

  并且回传一个非0的值。

  ◎adjkerntz作者

  AndreyA.Chernov<ache@astral.msk.su>

  ◎历史

  adjkerntz命令最早出现在FreeBSD1.0.文字


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3