《Linux 定时任务全解析:从时间查看、修改到任务设置与管理》

📝 ✏️ 📌
《Linux 定时任务全解析:从时间查看、修改到任务设置与管理》

《Linux 定时任务全解析:从时间查看、修改到任务设置与管理》 在日常的系统管理与运维工作中,定时任务的设置与管理是一项至关重要的技能。无论是定期执行数据备份、清理日志文件,还是按照特定时间调度系统程序,都离不开定时任务的支持。就如同Windows系统中的计划任务一样,Linux系统中的定时任务为我们提供了强大而灵活的自动化操作能力。

你可以根据实际情况对导读内容进行调整和修改。如果你还有其他想法或需求,欢迎继续向我提问。

2.18 定时任务定期执行任务(执行命令),和windows的计划任务是一样的。

2.18.1 查看时间代码语言:javascript代码运行次数:0运行复制#时间命令

date

#查看时间

[root@localhost ~]# date

2021年 07月 23日 星期五 14:38:19 CST

[root@localhost ~]# date +%F

2021-07-23

[root@localhost ~]# date +%T

14:35:47

[root@localhost tmp]# date +%F\ %T

2022-01-11 10:07:50 2.18.2 修改时间和日期代码语言:javascript代码运行次数:0运行复制#修改时间和日期

[root@localhost ~]# date -s '20200723 14:40:00'

2020年 07月 23日 星期四 14:40:00 CST

# 修改时间

[root@localhost ~]# date -s '14:40:00'

#同步时间,如果时间和当前时间不一致,可以做一下时间同步,来让时间准确起来

systemctl restart chronyd

# 一次执行完是有延迟的,等待一会才看到准确时间,前提是我们有网2.18.3 定时任务的格式代码语言:javascript代码运行次数:0运行复制#定时任务的格式

* * * * * cmd

分 时 日 月 周 命令

分:0-59

时:0-23

日:0-31

月:1-12

周:1-7

#每5分钟执行一次

*/5 * * * *

#每1小时的01分执行一次

01 */1 * * *

#每半个小时执行一次,下面的意思是每小时的00分和30分各执行一次

00,30 */1 * * *

#每天晚上8:00执行一次

00 20 * * *

#每个月1号晚上8:00执行

00 20 1 * *

#每年1月1号晚上8:00执行

00 20 1 1 *

#每周1、周三、周五晚上8:00执行一次

00 20 * * 1,3,5

# 几个符号的意思:

# * 每分钟

# */5 每5分钟

# 05 第5分钟

# 每秒钟执行的任务,需要单独写脚本,繁琐一些。2.18.4 查看,编辑定时任务代码语言:javascript代码运行次数:0运行复制#查看定时任务,遇到特殊符号%,需要添加转义符号\;

[root@localhost ~]# crontab -l

* * * * * echo `date +\%T` >>/tmp/time.txt

#编辑定时任务

[root@localhost ~]# crontab -e

* * * * * date >> /tmp/time.txt # 每分钟执行一次

[root@localhost ~]# crontab -l

* * * * * date >> /tmp/time.txt

## 我们可以通过cat来查看任务是否执行了,但是比较麻烦,每次手动输入cat,所以我们可以用如下指令

tail -f /tmp/time.txt #监测文件尾部内容的变化.

[root@localhost ~]# tail -f /tmp/time.txt

2023年 03月 24日 星期五 10:58:01 CST

2023年 03月 24日 星期五 10:59:01 CST

2023年 03月 24日 星期五 11:00:01 CST

2023年 03月 24日 星期五 11:01:01 CST

# 是这个进程再帮我们执行定时任务:

[root@localhost ~]# ps -ef|grep cron

root 581 1 0 18:05 ? 00:00:00 /usr/sbin/crond -n

# 我们还可以自行重启这个进程

root@localhost ~]# systemctl restart crond

[root@localhost ~]# ps -ef|grep cron # 可以看到进程启动时间变化了

root 2611 1 25 21:27 ? 00:00:00 /usr/sbin/crond -n

#改为每小时的03分执行

[root@localhost ~]# crontab -e

[root@localhost ~]# crontab -l

03 * * * * date >> /tmp/time.txt

#修改一下系统时间

[root@localhost ~]# date -s '12:02:50'

2023年 03月 24日 星期五 12:02:50 CST

[root@localhost ~]# tail -f /tmp/time.txt

...

2023年 03月 24日 星期五 11:13:01 CST

2023年 03月 24日 星期五 11:14:01 CST

2023年 03月 24日 星期五 12:03:03 CST # 12点03分执行的

# crontab -e里面每一行都可以写一个定时任务,也就是可以写多个定时任务。

# 比如,再加一个热内:每天晚上9:20自动关机

# 20 21 * * * shutdown -h now

[root@localhost ~]# date -s '21:19:50'

2023年 03月 24日 星期五 21:19:50 CST

[root@localhost ~]# crontab -l

03 * * * * date >> /tmp/time.txt

20 21 * * * shutdown -h now

[root@localhost ~]# date

2023年 03月 24日 星期五 21:21:03 CST

您在 /var/spool/mail/root 中有邮件

# 错误的原因可能是需要我们写shutdown的绝对路径

[root@localhost ~]# which shutdown # which也是查找,可以查找指令的绝对路径

/usr/sbin/shutdown

# 这里就是想提示大家,如果指令不行,就写指令的绝对路径

# 我们发现,没有关闭成功,并且看到了一个提示,有个邮件?我们去看一下

### 如果定时任务的格式,或者内容有问题,系统都会发邮件提示:image-20230710135913414

🔗 相关推荐

✨ 💡 🎯
手机UC浏览器中找到隐私相册的具体操作流程
2025年05月21日 || 最新活羊交易价格
365bet体育投注站

2025年05月21日 || 最新活羊交易价格

📅 09-26 👀 184
究竟谁才是史上最强战士?盘点古代最猛16位战士,个个战绩恐怖