当前位置: 首页 > news >正文

linux中设置脚本定时执行ntp命令同步时间

目录

  • 一、背景
  • 二、过程
    • 1.到系统目录
    • 2.安装ntp
    • 3.创建文件夹
    • 4.创建脚本文件
    • 5.提升脚本文件权限
    • 6.设置执行时间:
    • 7.检查是否设置了执行器(执行后输出的内容为执行器中的定时执行内容)
    • 8.执行脚本文件
    • 9.查看日志文件,是否执行成功
  • 三、总结

一、背景

最近因为服务器上的时间过段时间总是会变慢;查了一下基本指向服务器硬件老化导致,更换服务器目前看必要性也不是很大,所以有了写一个脚本来定期同步更新一下时间就好了。

二、过程

1.到系统目录

cd /usr/local/

2.安装ntp

yum -y install ntpdate

3.创建文件夹

mkdir ntp_sync

cd ntp_sync

4.创建脚本文件

vi ntp_sync.sh

#脚本文件内容(ntp.aliyun.com 是你要同步的远端地址,日志路径也要设置好); 设置好输入:wq! 保存文件


#!/bin/bash
# NTP同步脚本
NTP_SERVER="ntp.aliyun.com"
LOG_FILE="/usr/local/ntp_sync/ntp_sync.log"
TEMP_LOG="/usr/local/ntp_sync/ntp_sync.log.tmp"# 获取NTP同步输出
OUTPUT=$(sudo ntpdate $NTP_SERVER 2>&1)# 创建临时文件并保留最后50行日志加上新日志
{# 从原始日志文件中获取最后50行tail -n 50 "$LOG_FILE"# 追加新的日志条目echo "$(date): $OUTPUT"
} > "$TEMP_LOG"# 替换原始日志文件
mv "$TEMP_LOG" "$LOG_FILE"# 更新硬件时钟
sudo hwclock --systohc

5.提升脚本文件权限

chmod +x ntp_sync.sh

6.设置执行时间:

crontab -e

打开的文件中添加内容如下:(设置好输入:wq! 保存文件)

0 2 * * * /usr/local/ntp_sync/ntp_sync.sh

7.检查是否设置了执行器(执行后输出的内容为执行器中的定时执行内容)

crontab -l

8.执行脚本文件

./ntp_sync.sh

9.查看日志文件,是否执行成功

vi ntp_sync.log

日志文件如下为执行成功:
Tue Feb 18 12:14:34 CST 2025: 18 Feb 12:14:34 ntpdate[31660]: step time server 203.107.6.88 offset 3.635884 sec

三、总结

1.写完还进行了手动和定时测试
2.对于每次执行的日志文件,为了防止长时间生成导致占用存储资源也写了只保留指定行数(在没有报错的情况下,我默认保留50行也就是50天的执行)
3.事情不大,但是对于系统化、全局化、结构化的思考还是有的
在这里插入图片描述

http://www.lryc.cn/news/538933.html

相关文章:

  • map的使用(c++)
  • 毕业设计—基于Spring Boot的社区居民健康管理平台的设计与实现
  • Python:蟒蛇绘制(一笔画)
  • mysql查询判断函数,类似decode
  • 异常处理、事务管理
  • UART(一)——UART基础
  • MySQL 中各种日志简介
  • 【每日论文】Text-guided Sparse Voxel Pruning for Efficient 3D Visual Grounding
  • Kylin server v10部署docker
  • 计算机之就业主流岗(Mainstream Computer Employment Positions)
  • DeepSeek 助力 Vue 开发:打造丝滑的日期选择器(Date Picker),未使用第三方插件
  • 【Mac技巧】添加DNS解析到hosts文件
  • 【批判性思维有什么用?】
  • Golang学习笔记_34——组合模式
  • 以太网详解(八)传输层协议:TCP/UDP 协议
  • 基于Spark抖音评论舆情分析系统
  • JAVA系列之数组的秘密(数组的一般用法+力扣 斯坦福大学练习精解)
  • 探索飞鹤奶粉奥秘,领会科技魅力
  • 【数据仓库】StarRocks docker部署
  • Java虚拟机面试题:内存管理(下)
  • R语言用逻辑回归贝叶斯层次对本垒打数据与心脏移植数据后验预测检验模拟推断及先验影响分析|附数据代码...
  • 网页制作02-html,css,javascript初认识のhtml的文字与段落标记
  • 【SpringBoot苍穹外卖】debugDay04
  • C++中的顺序容器(一)
  • 【复现DeepSeek-R1之Open R1实战】系列4:跑通GRPO!
  • Redis原理简述及发布订阅消息队列
  • ThreadLocal为什么会内存溢出
  • 假面与演员:到底是接口在使用类,还是类在使用接口?编程接口与物理接口的区别又是什么?
  • 数据结构——Makefile、算法、排序(2025.2.13)
  • 算法之 跳跃游戏