1、修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
修改项:【Enabled】设定为1 (默认 0)
注释:打开NTP服务器功能
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
修改项:【AnnounceFlags】设定为5 (默认 10)
注释:
该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。
(如果不修改此项则可能报错:时间例子被拒绝,因为:对等机器的层次 (stratum)不主机层次少.)
2. 重启时间服务
net stop w32time && net start w32time
Windows客户端设置
1. 设置NTP服务器地址
2. 设定客户端和服务器同步时间间隔
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
修改项:【SpecialPollInterval】修改为同步间隔,单位:秒(默认设定为604800,可以不改)
Linux客户端设置
在linux系统中系统的计划任务是由crond服务完成的。
crond提供了允许给定的任务以一定的间隔在后台运行的机制。
直接编辑/etc/crontab文件。
/etc/crontab
文件的格式为:
*
*
*
*
*
调度命令
分
(
0
-
5
9)
小
时
(
0
-
2
3)
天
(1-31)
月
(1-12)
星期第几天
(0-6)
系
统
要
完
成的动作
也可以使用
crontab
的命令,下面是一个简单的事例:每天晚上
12
点清空
/test
中的内容。
首先让把
cron
设臵为开机运行的服务:
# chkconfig crond on
添加任务:
# crontab -e
00 0 * * * cd /test && rm -Rf *
【
crontab
命令说明】
crontab -l
显示当前用户的系统调度
crontab -e
编辑用户的系统调度
crontab -r
删除某个系统调度
计划任务事例:
30 10 * * * /usr/sbin/ntpdate 133.100.9.2
定期更新系统时间(需要
ntp
包)
00 12 * * * /usr/sbin/logwatch
设臵定时检查服务器
log
状
一个
Cron
计划就是一个文本文件,
系统以及每一个用户都有他们自己的
Cron
计划。
对于用户的
Cron
计划,都会存放到
/var/spool/cron/crontabs
目录中,但是系统不允许用户直接对该文件
进行修改,而是必须通过以下命令修改:
crontab -e
使用命令
crontab -u user -e
命令编辑用户
user
的
cron(c)
作业。用户通过编辑文件来增加或
修改任何作业请求。
有的系统可以允许用户选择使用哪种文本编辑器对该文件进行修改,也有的只允许默认使用
vi
编辑器。
cron
计划文件中的每一行只可能是以下三种中的任意一种:注释(以
#
开头)、空行和任务。
每一条计划任务至少包含六个部分,
每一个部分之间以一个
(必须是一个,
不多不少)
空格隔开,
但是最后一个部分中允许包含空格。
前五个部分规定了该任务运行的时间。
需要注意的是,
这个时间是采用了系统时间,
而不是太平
洋标准时间。每一个部分的意义如下:
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
前五个部分的语法参考下边的例子,最后一个部分时间到达的时候要执行的命令。
crontab
的用
户手册中推荐每一个命令使用绝对路径,
例如调用
rm
命令时写作:
/bin/rm
,
这是为了防止由于
每一个用户的
PATH
环境变量不同而导致命令无法找到的错误。
【例子】
(
1.
)
#
在每天的
00:05AM
执行
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
(
2.
)
#
在每月
1
日的
02:15PM
执行
15 14 1 * * $HOME/bin/monthly
(
3.
)
#
在工作日(周一到周五)的
10:00PM
执行
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
(
4.
)
#
在
0-23
小时区间内,每两小时执行一次,即
0
点,
2
点,
...
,
22
点,在这些时间之
后的
23
分钟执行
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
(
5.
)
#
每周日的
04:05AM
执行
5 4 * * sun echo "run at 5 after 4 every sunday"
(
6.
)
#
在每个月的第二个周六的
04:00AM
执行
0 4 8-15 * 6 test $(date +u) -eq 6 && echo "2nd Saturday"
预定义任务的前五个部分可以由以下左边字符串代替,右边为其解释:
@reboot Run once, at startup.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".
系统的
Cron
计划
系统的
Cron
计划文件存放在
/etc/crontab
路径下。
与用户的
crontab
文件不同,
root
用户可以
直接对该文件进行修改,而不用使用
crontab
-e
命令。除此之外,系统
crontab
文件中任务的
定义也有所不同,在前五个部分之后插入了一个“用户”部分。以下是我的
/etc/crontab
文件:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25
6
*
*
*
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.daily
)
47
6
*
*
7
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.weekly )
52
6
1
*
*
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.monthly )
#
【使设臵生效】
设臵完成后,重启
cron
即可使设臵的计划任务定时执行了,重启命令如下:
service crond restart