当前位置:首页 > 技术文章 > 正文内容

设置linux时间(定时更新时间)(linux定时器怎么设置时间)

arlanguage3个月前 (01-31)技术文章26

背景

前段时间检查项目运行情况,查看实时日志时,发现日志中打印的时间明显比北京时间慢了30分钟,这时我心中大体知道了原因并有了相应解决办法。为了印证心中想法,我关闭日志文件,在系统中使用date命令,发现时间确实是慢30分钟。

Linux经过一段时间,时间变得不准确是常见现象,主要是因为服务器上的物理时钟频率出现小幅变化,导致时间不准。这种情况会导致插入数据库数据的操作时间都是错的,定时任务没有按预定的时间执行等相关问题。

下边简单说一下如何修改linux时间。

方式一:ntpdate同步时间

1.首先先检查是否安装ntpdate命令

rpm -qa | grep ntpdate

使用如下命令安装(未安装请看)

yum -y install ntp ntpdate

设置时间为asia.pool.ntp.org

ntpdate asia.pool.ntp.org

也可以同步时间为阿里服务器时间

ntpdate ntp1.aliyun.com(阿里服务器时间)

同步硬件时间

hwclock --systohc

ntpdate命令介绍

ntpdate命令 是用来设置本地日期和时间。

语法

ntpdate [ -b] [ -d] [ -s] [ -u] [ -aKeyid] [ -eAuthenticationDelay] [ -kKeyFile] [ -oVersion] [ -pSamples] [ -tTimeOut] Server...

选项

-aKeyid

使用 Keyid 来认证全部数据包。

-b

通过调用 settimeofday 子例程来增加时钟的时间。

-d

指定调试方式。判断 ntpdate 命令会产生什么结果(不产生实际的结果)。结果再现在屏幕上。这个标志使用无特权的端口。

-eAuthenticationDelay

指定延迟认证处理的时间秒数。

-kKeyFile

当不使用缺省值 /etc/ntp.keys 文件时,为包含密钥的文件指定一个不同的名称。 请参阅文件KeyFile的描述。

-oVersion

当轮询它的发出数据包时,指定使用的 NTP 版本实现。 Version 的值可以是 1,2,3。缺省值是 3。

-pSamples

指定从每个服务器获取的样本的数目。 Samples 的值在 1 和 8 之间,并包括 1 和 8。它的缺省值是 4。

-s

指定日志操作 syslog 设施的使用,而不是使用标准输出。 当运行 ntpdate 命令和 cron命令时,它是很有用的。

-tTimeOut

指定等待响应的时间。给定 TimeOut 的值四舍五入为 0.2 秒的倍数。缺省值是 1 秒。

-u

指定使用无特权的端口发送数据包。 当在一个对特权端口的输入流量进行阻拦的防火墙后是很有益的, 并希望在防火墙之外和主机同步。防火墙是一个系统或者计算机,它控制从外网对专用网的访问。

方式一确实是修改了时间,但也仅仅是修改了时间,一段时间后你会发现,时间还会变的不准确,还需要在执行上边的命令修改时间,那么有没有一种一劳永逸的方式呢?有,定时同步时间

方式二:定时同步时间

crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程,和 Windows 中的计划任务类似。

查看是否安装cron定时任务服务

敲入如下命令,如果什么也没返回,代表未安装。

rpm -qa | grep cron

1.1安装cron(未安装请看)

yum install -y vixie-cron
yum install -y crontabs

启动cron,并设置为开机自启

service crond start //启动cron
chkconfig crond on //设置开机自启

1.2crond相关命令

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态

2设置定时任务,有如下两种方式

2.1 crontab -e (操作方法和 Vim 是一致)

敲入如下命令

编写相应任务

2.1 直接编辑/etc/crontab 文件,添加相应的任务

两种方式保存退出后,相应任务即可在指定的时间执行。至此设置定时任务已经完成。

3 crontab 文件内容介绍

想必大家对 */30 * * * * 这个格式比较好奇吧,其实这个就是你规定的任务执行的时间。

下边来详细介绍下:

3.1各个字段可以使用特殊字符

"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;

"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。

"-"代表从某个区间范围,是闭区间。如“3-7”表示“3,4,5,6,7”,小时字段中0-23/1表示在0~23点范围内每1个小时执行一次。

","分散的数字,如:1,2,7,9。

3.2例子

30 22 * * * /etc/init.d/nginx restart      //每晚的22:30重启 nginx。
0 1 1,20 * * /etc/init.d/nginx restart     //每月1、 20日凌晨1点重启nginx。
0,30 1-5 * * * /etc/init.d/nginx restart    //每天凌晨1点至5点之间每隔30分钟重启nginx。
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20      //每半小时同步一下时间
* 23-5/1 * * * /etc/init.d/nginx restart //晚上11点到早上5点之间,每 隔一小时重启nginx

3.3注意点

crontab中的command尽量使用绝对路径,否则会经常因为路径错误导致任务无法执行

你的赞和关注是对我最大的肯定,希望大家多多支持,谢谢大家。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1287.html

分享给朋友:

“设置linux时间(定时更新时间)(linux定时器怎么设置时间)” 的相关文章

2020全网最全的Nginx 性能调优实战

1、Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/...

Linux这17个操作技巧是每个运维工程师应知必会的吧?

今天跟大家分享17个linux运维中常用的操作技巧!掌握好这些技巧,或许某一天能够让老板给你涨工资!1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录:find . -name “*.tar” -exec mv {}./backup/ ;?注解:find –name 主要用于查找某个文件名...

域名备案流程总结

域名备案流程一、前言一般某个网站程序部署到云服务器上后,我们就可以直接通过”服务器主机IP:应用端口”的方式来访问该网站服务了,但这种方式非常不友好。对于广大用户而言,没几个人会记得住那一串IP数字地址。因此我们需要提供一个友好的名称来作为服务器主机IP的别名,让用户在浏览器输入别名就可以访问到网站...

实战录 | 今天聊聊Nginx反向代理使用

《实战录》导语本期分享人为云端卫士SOC工程师田全磊,将带来Nginx反向代理使用。本文涉及到nignx的安装、nginx的配置说明、nginx的负载均衡、nginx的反向代理和nginx的ssl方反向代理以及nginx location路径匹配优先级等问题。最近工作中经常使用nginx,为了能够更...

Nginx 最全操作——nginx常用命令(3)

上一篇文章我们设置了nginx的配置,这里简单介绍一下nginx的常用命令。几个常用的命令:nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启 nginx -s reopen # 重启 Nginx nginx -s stop # 快速关闭 nginx -s qu...

windows下配置nginx支持多个版本PHP

在本地开发时,经常需要不同版本到PHP,一般是通过给nginx配置不同到端口来解决nginx.conf配置文件中server段设置不同端口到PHP解析 server { listen 80; server_name www1.local.com;...