linux学习4-crontab定时任务

时间:2021-07-30 08:10:26
  • crontab -e  在当前用户下创建定时任务

我们通过这样一张图来了解 crontab 的文档编辑的格式与参数

linux学习4-crontab定时任务

在了解命令格式之后,我们通过这样的一个例子来完成一个任务的添加,在文档的最后一排加上这样一排命令,该任务是每分钟我们会在/home/shiyanlou目录下创建一个以当前的年月日时分秒为名字的空白文件

*/1 * * * * touch /home/shiyanlou/$(date +\%Y\%m\%d\%H\%M\%S)
每一分钟执行一次

注意 “ % ” 在 crontab 文件中,有结束命令行、换行、重定向的作用,前面加 ” \ ” 符号转意,否则,“ % ” 符号将执行其结束命令行或者换行的作用,并且其后的内容会被做为标准输入发送给前面的命令

  • crontab -l 查看当前用户的定时任务

crontab 的深入

这个 crontab -e 是针对使用者的 cron 來设计的,也就是每个用户在添加任务,就会在 /var/spool/cron/crontabs 中添加一个该用户自己的任务文档,这样可以做到隔离,独立,不会混乱。

linux学习4-crontab定时任务

如果是系統的例行性任務時,该怎么办呢?是否还是需要以 crontab -e 來管理你的例行性工作排程呢?当然不需要,你只要编辑 /etc/crontab 這個档案就可以啦!有一點需要特別注意喔!那就是 crontab -e 這個 crontab 其实是 /usr/bin/crontab 这个执行的,只是你可以 root 的身份編輯一下这个文档!

基本上, cron 这个服务的最低侦测限制是分钟,所以 cron 会每分钟去读取一次 /etc/crontab 与 /var/spool/cron/crontabs 里面的资料內容 』,因此,只要你编辑完 /etc/crontab 这个文档,并且將他存储之后,那么 cron 的设定就自动的执行了!

在/etc目录下,我们可以观察到关于 cron 的文件有一下几个,他们的作用又是什么

linux学习4-crontab定时任务

  1. /etc/cron.daily,目录下的脚本会每天让执行一次,在每天的6点25分时运行;
  2. /etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的17分钟时运行;
  3. /etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月1号的6点52分时运行;
  4. /etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的6点47分时运行;

当然,以上的时间均是系统默认时间,可以根据自己的需求进行修改。