Day28-定时任务

定时任务

定时任务的定义与解释

  • 定时任务是指在固定的时间或周期性地执行一项任务的过程。其概念通过生活中闹钟的比喻得以形象化理解:就像闹钟在每天固定时间叫醒我们一样,计算机系统中的定时任务会在预先设定的时间自动运行程序或命令。

Linux 系统定时任务

at命令

at 是一个在 Linux 和 Unix 系统中用于安排一次性任务的命令。它允许您安排一个任务,该任务将在将来的某个特定时间执行。与 crontab 不同,crontab 用于安排周期性任务,而 at 用于安排一次性任务。

基本用法
  1. 安排任务: at [时间参数]
    • 例如:at 5:30 PM tomorrow
  2. 查看已安排的任务: at -l
    • 显示当前用户所有安排的任务列表。
  3. 删除已安排的任务: atrm [任务编号]

    • 例如:atrm 1
  4. 查看某个任务的详细信息: at -c [任务编号]

    • 例如:at -c 1
时间参数
  • 您可以使用 now 关键字来表示当前时间。
  • 您可以使用 + 时间 格式来表示从现在开始多少时间后执行任务。
  • 您也可以指定具体的时间,如 HH:MM
示例
  1. 安排任务在明天下午 5:30 执行:

    at 5:30 PM tomorrow
    
  2. 安排任务在 2 小时后执行:

    echo "Hello, World!" | at now + 2 hours
    
  3. 安排任务在下周三的上午 10 点执行:

    echo "Hello, World!" | at 10:00 AM Wednesday next week
    
  4. 安排任务在 5 分钟后执行:

    echo "Hello, World!" | at now + 5 minutes
    

当您使用 at 命令安排任务后,系统会提示您输入要执行的命令。您可以输入任何命令或脚本,然后按 Ctrl + D 来结束输入。安排的任务将被保存在 at 的 spool 目录中,通常位于 /var/spool/atjobs/etc/atjobs

请注意,at 命令依赖于 atd 服务,该服务需要在后台运行以执行安排的任务。如果您的系统没有运行 atd 服务,您可能需要启动该服务或使用 cron 作为替代方案。

crontab命令

crontab 是 Linux 系统中用于设置周期性被执行的指令的命令。它是 Unix 类操作系统中的一个工具,用于安排在预定时间执行操作。crontab 的名称来源于希腊语单词 “chronos”,意为时间。用于周期性任务,如每分钟、每小时、每天或每月执行的任务

定时任务配置文件位置及结构
  • 定时任务的配置文件存储在 /var/spool/cron/ 目录下,以对应用户的名称命名的文件中,例如,root用户的定时任务配置文件位于 /var/spool/cron/root
  • 使用 Ctrl + e 或者 Vim 编辑器编辑相应的用户定时任务配置文件。
基本用法
  1. 列出当前用户的crontab文件: crontab -l
  2. 编辑当前用户的crontab文件: crontab -e
  3. 删除当前用户的crontab文件: crontab -r
  4. 列出某个用户的crontab文件: crontab -u username -l
  5. 编辑某个用户的crontab文件: crontab -u username -e
  6. 删除某个用户的crontab文件: crontab -u username -r
crontab 文件的格式

一个典型的 crontab 文件包含一系列的行,每行代表一个任务,格式如下:

* * * * * command-to-be-executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- minute (0 - 59)
  • 星号(*)表示“任何时间”。<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值