您的位置:首页 > 财经 > 产业 > Linux定时执行程序和关闭程序

Linux定时执行程序和关闭程序

2024/12/21 20:21:54 来源:https://blog.csdn.net/weixin_57097753/article/details/140627873  浏览:    关键词:Linux定时执行程序和关闭程序

cron是一个基于时间的作业调度器,可以在指定的时间运行命令。

打开终端并编辑cron任务

crontab -e

定时任务

# 每天20点30分执行程序
30 20 * * * /home/user/my_program
# 每天15点30分关闭程序
30 15 * * * pkill my_program

crontab 用法

crontab 是 Unix 和类 Unix 操作系统上用于管理定时任务(也称为计划任务)的命令。以下是 crontab 的基本用法和常见的例子:

基本用法

  1. 查看当前用户的 crontab 文件:

    crontab -l
    
  2. 编辑当前用户的 crontab 文件:

    crontab -e
    

    这将打开一个编辑器,让你可以编辑定时任务。

  3. 删除当前用户的 crontab 文件:

    crontab -r
    
  4. 为指定用户设置 crontab 文件(需要超级用户权限):

    sudo crontab -u username -e
    

补充:

更改默认编辑器
如果你想更改默认编辑器(在之后运行 crontab -e 时生效),可以使用以下命令来选择默认的编辑器:

select-editor

crontab 文件格式

crontab 文件的每一行表示一个定时任务,格式如下:

* * * * * command

每个星号的位置分别表示:

  • minute(分钟):0 - 59
  • hour(小时):0 - 23
  • day of month(日期):1 - 31
  • month(月份):1 - 12
  • day of week(星期几):0 - 7(0 和 7 都表示星期天)

例如,以下定时任务将在每天凌晨 2 点运行:

0 2 * * * /path/to/command

常见例子

每分钟都输出字符串到文件

* * * * * echo "This is a message at $(date)" >> /home/user/message.log

每天凌晨 3 点运行一个脚本:

0 3 * * * /home/user/backup.sh

每隔 5 分钟运行一次脚本:

*/5 * * * * /home/user/check_status.sh

每周一到周五的上午 8 点运行:

0 8 * * 1-5 /home/user/weekday_task.sh

每月的第一天凌晨 1 点运行:

0 1 1 * * /home/user/monthly_report.sh

每周六和周日的中午 12 点运行:

0 12 * * 6,7 /home/user/weekend_task.sh

使用环境变量

你可以在 crontab 文件的顶部定义环境变量,例如:

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=user@example.com# 定时任务
0 2 * * * /home/user/backup.sh

上面的 MAILTO 变量会将定时任务的输出结果通过邮件发送给指定的用户。

总结

crontab 是一个强大的工具,可以帮助你自动化定时任务。在编辑 crontab 文件时,确保格式正确并且任务路径和权限设置正确,以确保任务按预期运行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com