Linux操作系统(Crontab计划任务+NTP时间同步服务器)

发布时间:2023年12月27日

如何修改linux系统时间

与时间相关的命令,查看当前的时间

运行?date?即可

cal?查看当前月份的日历

运行?timedatectl?查看时间详细参数

( NTP: network time protocol 网络时间协议 )

( local?time : 本地时间 )

??如何设置机器时间

设置系统时间为15:08: timedatectl set-time 15:08? ?

关闭ntp:? timedatectl set-ntp false

周期性计划任务(定时任务)crontab

用户的定时任务

systemctl status crond.service 查看周期性计划任务的服务状态running

systemctl start crond.service? 开启周期性计划任务的服务状态

systemctl enable --now crond 设置周期性计划任务crond开机自启动,并且当前立即开启

用户定时任务的格式:Minute Hour Day Month DayOfWeek Command

?如何倒查定时任务格式:

  • rpm -qa | grep cron

//在所有已安装的包中搜索包含cron的软件包 ,找到

crontabs-1.11-16.20150630git.el8.noarch

  • rpm?-qc crontabs-1.11-16.20150630git.el8.noarch

//查看crontabs-1.11-16.20150630git.el8.noarch 包相关的配置文件,可以找到配置文件/etc/crontab

  • ?vim /etc/crontab ??

//查看配置文件

设置用户定时任务的步骤:

  1. 切换用户身份
  2. contab 命令( -e?; -l -r

例:

crontab -e //录入定时任务

crontab -l //列表显示定时任务

crontab -r //删除定时任务 ( 删的是所有的定时任务?

拓展知识:查找命令的绝对路径?which?命令

实例:

  • zhangsan用户周一至周五每天下午5点整关机

删除zhangsan的定时任务


管理员root对用户定时任务的管理方法:

方法一:/var/spool/cron 用户定时任务的工作目录( 查看;修改;删除?

方法二:crontab -u lisi ?-l |-e |?-r ???模拟某个用户身份


用户定时任务的高级管理技巧

黑名单和白名单的用法:黑名单和白名单择其一使用?)

系统默认有黑名单,若用白名单首先删除黑名单

黑名单文件: /etc/cron.deny

用法:vim??/etc/cron.deny??

( 在黑名单文件输入用户名,那么该用户的定时任务被禁用 )

( 从黑名单文件删除用户名,那么该用户的定时任务可正常使用 )

白名单文件: /etc/cron.allow

(?放在白名单里的用户可以用定时任务 )

重启定时任务systemctl restart crond


系统定时任务的用法:?

系统定时任务的工作目录:

/etc/cron.daily //该目录下的脚本文件每天会自动运行一次(触发事件4:22

/etc/cron.hourly //该目录下的脚本文件每小时(第一分钟)会自动运行一次

/etc/cron.monthly //该目录下的脚本文件每个月(1号的4:22)会自动运行一次

/etc/cron.weekly //该目录下的脚本文件每星期(周日的4:22)会自动运行一次


anacron系统

原理:系统定时任务的触发事件由于某种原因(例如:停电)而错过了,anacron系统会保证系统定时任务工作目录下的脚本会弥补运行这一机制。


??一次性定时任务(?at )

??systemctl status atd //一次性计划任务at的服务名称叫atd

?rpm -q at //查询at是否安装,软件包信息

rpm -qc?at?? //查询at服务的配置文件


建立一次性计划任务 ( ctrl+d结束一次性计划任务的录入?

应用

查看一次性计划任务:at?-l

查看一次性计划任务的内容:at?-c number? //任务内容的倒数第3

删除一次性计划任务:at -d number

at 17:20 tomorrow //设置明天下5:20的定时任务

at?5:10pm+3 days //设置3天后下午5:10的定时任务


timedatectl命令用法

列出时区信息q退出

timedatectl list-timezones

timedatectl list-timezones??| ?grep?-i?to??//-i忽略大小写

设置时区

timedatectl set-timezone Asia/Tokyo //设置系统时区

timedatectl


同步ntp服务器

开启ntp服务器:?timedatectl set-ntp true

查询ntp服务来源于哪个系统模块(?结果显示:chronyd.service模块 )

systemctl list-units | grep -i?ntp

systemctl status chronyd.service ??//查看chronyd.service的状态为running,

并且上面显示了其服务文件为/usr/lib/systemd/chronyd.service

systemctl start chronyd.service

systemctl enable --now chronyd.service

rpm -qf ?/usr/lib/systemd/chronyd.service ??//查看该服务源于哪个包,这里是chrony-3.3-3.el8.x86_64

rpm -qc ?chrony-3.3-3.el8.x86_64 ??//查看包chrony-3.3-3.el8.x86_64的相关配置文件,可以找到配置文件/etc/chrony.conf

vim ?/etc/chrony.conf

如何设置NTP服务客户端(在servera上做实验)

timedatectl ?set-ntp true ??????????????????????//开启NTP时间同步

timedatectl ????//查看NTP服务的状态为active

systemctl status chronyd.service ??//查看NTP时间同步服务是否运行

vim ?/etc/chrony.conf ?????//编辑NTP服务指向文件

server 172.25.254.250 iburst ??//设置时钟同步服务器是172.25.254.250,也可以设置成172.25.254.254或者classroom.example.com

systemctl restart chronyd.service ??//重启chronyd服务,即NTP服务

timedatectl ????//查看system clock synchronized的值是否为yes

chronyc sources -v ??//验证当前使用的是哪个时钟同步服务器

文章来源:https://blog.csdn.net/m0_56337656/article/details/135246230
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。