linux的定时任务Corntab

安装crontab

bash 复制代码
# yum安装crontab
yum install -y crontab

# 开机自启crond服务并现在启动
systemctl enable --now crond

cron系统任务调度

系统任务调度: 系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。

/etc/crontab文件,这个就是系统任务调度配置文件

查看
bash 复制代码
# 系统级别的crontab会记录在该文件下
cat /etc/crontab
/etc/crontab文件格式

/etc/crontab文件包括下面几行:

bash 复制代码
# 前四行是用来配置crond任务运行的环境变量
## SHELL变量指定了系统要使用哪个shell,这里是bash
SHELL=/bin/bash
## PATH变量指定了系统执行命令的路径
PATH=/sbin:/bin:/usr/sbin:/usr/bin
## MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户
MAILTO=""
## HOME变量指定了在执行命令或者脚本时使用的主目录
HOME=/

# 任务部分
51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

/var/spool/cron 目录下存放的是每个用户的crontab任务,每个任务以创建者命名

/var/spool/mail/root 这个每次收到任务后都在有一个邮件提示

crontab的使用

corntab -u username - 属性

-e (编辑工作表)

-l (列出工作表的命令)

-r (删除工作表)

操作:
复制代码
//编辑工作表
crontab -e 
// 列出工作表里的命令
crontab -l
//删除工作表
crontab -r

进入文件之后:

crontab的命令构成 : 时间+动作

时间:分 时 日 月 周 按序五种

操作符 :

* 取值范围内所有数字

/ 每果多少个数字

  • 从x 到Z

, 散列数字

bash 复制代码
#重定向到log.txt文件中,因为Crontab任务是在后台运行的,无法直接在终端中看到输出。


#每分钟执行一次
* * * * * echo "hello linux" >> ~/log.txt

#每小时的第2分钟和第25分钟执行
2,25 * * * * echo "hello  linux"

#每周一下午3点到下午6点每分钟执行
* 15-18 * * 1 echo "hello linux"

编写完成后退出等待执行即可!!!

计划任务每执行一次,就会发送一封邮件给管理员

提示:你在 /var/spool/mail/root中有新的文件(执行完任意操作后出现这个提示,也不会自己蹦出来)

关闭提示:
bash 复制代码
# 发送邮件给指定用户(不写就是没有)
MAILTO=""
清空邮件箱
bash 复制代码
# 清空收件箱
cat /dev/null > /var/spool/mail/root
相关推荐
无效的名字13 分钟前
向日葵远程控制debian无法进入控制画面的解决方法
运维·debian
行云流水剑35 分钟前
【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
服务器·学习·ubuntu
藥瓿亭40 分钟前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
搬码临时工1 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
vortex51 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash
GalaxyPokemon2 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
Guheyunyi2 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
懒羊羊大王呀2 小时前
Ubuntu20.04中 Redis 的安装和配置
linux·redis
鳄鱼杆2 小时前
服务器 | Centos 9 系统中,如何部署SpringBoot后端项目?
服务器·spring boot·centos
杰哥技术分享2 小时前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos