Linux计划任务

本文介绍了Linux系统中进行计划任务设置的方法,包括一次性任务调度的at命令和循环任务调度的crontab服务。at命令适合一次性任务,如示例中在指定时间添加用户user03。而crontab用于周期性任务,通过特定语法定义时间规则执行命令或脚本。文章还提供了多个示例和练习来帮助读者理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据
分类:
一次性调度执行 at
循环调度执行 crontab

一次性调度执行 at

顾名思义适合一次性任务处理

at使用

语法格式:at {执行时间}

常见时间表示
now +5min5分钟后
teatime tomorrow (teatime is 16:00)下午茶时间
noon +4 days第四天中午
5pm august 3 20242024年8月3日下午5点
4:00 2024-11-27某年某月某日某时

示例

[root@localhost ~]# yum -y install at					#使用yum安装at,并开启服务与at服务系统自启动。
[root@localhost ~]# systemctl start at					#开启服务
[root@localhost ~]# systemctl enable at					#开启系统自启动
[root@localhost ~]# at now +1min						#启动at
warning: commands will be executed using /bin/sh
at> useradd user03										#输入计划useradd user03
at> <EOT>												#CTRL+D完成退出
job 4 at Sat Jun 10 15:35:00 2023
[root@localhost ~]# atq									#查看计划
4       Sat Jun 10 15:35:00 2023 a root
[root@localhost ~]# id user03							#验证
用户id=1002(user03) 组id=1002(user03) 组=1002(user03)

循环调度执行 crontab

crontab是linux中的周期计划任务服务,通过编写实现定时计划执行任务。
该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。

crontab 基础使用

crontab -e				#创建计划
crontab -l				#查看计划
crontab -r				#删除计划
ls /var/spool/cron/		#计划任务存储位置

语法格式 Job format

* * * * * command
每个*从左到右分别代表 分 时 日 月 周 命令或脚本程序
理解示例1

Command表示
0 * * * * /mysql_back.sh每小时0分执行
*/5 * * * * /mysql_back.sh每五分钟执行
0 2 1,4,6 * * /mysql_back.sh每月1、4、6号2点整执行
0 2 5-9 * * /mysql_back.sh每月5-9号2点整执行
* * * * * /mysql_back.sh每分钟执行
0 2 * * * /mysql_back.sh每天2点整执行
0 2 14 * * /mysql_back.sh每月14号2点整执行
0 2 14 2 * /mysql_back.sh每年2月14号2点整执行
0 2 * * 5 /mysql_back.sh每周五2点整执行(不写日月,则按周执行)
0 2 2 6 5 /mysql_back.sh每年6月周五的2点整执行 和 每年6月2号2点整执行

理解示例2

Command表示
00 02 * * * ls每天2点整执行
00 02 1 * * ls每月1号2点整执行
00 02 14 2 * ls每年2月14号2点整执行
00 02 * * 7 ls每周日2点整执行
00 02 * 6 5 ls每年6月的每周五2点整执行
00 02 14 * 7 ls每年的周日2点整执行和每月14号2点整执行
00 02 14 2 7 ls每年2月14号2点整 和 2月每周五2点整执行

小练:
计划任务在11月份,每天早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh怎么实现?

实验

目的:每个一分钟执行创建文件的计划任务

vim 1.sh							#创建一个脚本
#内容如下
/usr/bin/touch   /root/`date +%F-%H-%M-%S`.txt
#1.sh脚本内容结束

chmod +x   /root/1.sh		#给文件添加执行权限

crontab -e					#编写周期计划
#内容如下
*  *  *   *   *    /root/1.sh
* #计划内容结束
ls /root/							#查看结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弘雷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值