Linux 周期性计划任务crontab

Linux一次性计划任务中利用at简单演示了计划任务功能,计划任务就是由计算机发起的执行,不用人的参与。跟一次性计划任务比,周期性计划任务用途更广泛。周期性计划任务使用crontab命令。

crontab命令说明

配置crontab

crontab -e

crontab配置格式

分钟 小时 日期 月份 星期 执行的命令

crontab最小单位是分钟,所以最小是每隔1分钟执行一次命令,如果要实现秒级的定时任务,可以安装第三方软件包。

注意命令的路径,最好写全路径

查看现有计划任务

crontab -l

每个用户都有自己的周期性计划任务配置文件,保存在/var/spool/cron/下面,以用户名作为文件名。

查看计划任务执行情况

可以进入到 /var/log 目录中,执行 tail -f cron看到crontab的执行日志,通过该日志我们可以分析该计划任务是否有被正确执行。

Linux crontab周期性任务

crontab示例

每分钟将日期保存在指定文件中

* * * * * /usr/bin/date >> /tmp/deepinout.com.txt

固定星期几执行计划任务

周一每分钟执行

* * * * 1 /usr/bin/date >> /tmp/deepinout.com.txt

周五每分钟执行

* * * * 5 /usr/bin/date >> /tmp/deepinout.com.txt

周一和周五每分钟执行

* * * * 1,5 /usr/bin/date >> /tmp/deepinout.com.txt

周一至周五每分钟执行

* * * * 1-5 /usr/bin/date >> /tmp/deepinout.com.txt

同时满足指定日期和星期才执行任务

例如下面的例子表示:7月8日是周一至周五,每分钟执行

* * 8 7 1-5 /usr/bin/date >> /tmp/deepinout.com.txt

crontab常见问题

crontab目录中的文件用途

在 /etc 目录下, 关于crontab 的目录有 cron.d/ cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/ 和一个文件 crontab 它们的作用是什么哦?

这些目录是避免在你设定的时间,刚好服务器关机准备的,还有一个延时计划任务工具叫做anacron 来执行这些延时计划任务脚本

crontab可以直接写脚本吗

这样写计划任务能实现每秒执行一次脚本

* * * * * for i in `seq 60`; do [shell script] ; sleep 1; done

如何查看所有用户的计划任务

crontab -lcat /var/spool/cron/root 执行的结果完全相同。可以理解为是一样的查询方式吗?

/var/spool/cron/和用户同名的文件 记录了该用户的cron计划任务, crontab -l 就是把这个文件读取到标准输出上,也可以查看其它用户的计划任务

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程