• 【linux】linux实操篇之任务调度


    请添加图片描述

    前言

    我们常用linux做一些定时任务,最常见的就是在服务器领域,我们常常做一些定时任务来定时执行一些脚本,那么接下来我们就来看看linux中的任务调度相关知识以及一些案例吧!

    crond 任务调度

    crontab 进行定时任务的设置

    概述

    任务调度:是指系统在某个时间执行的特定的命令或程序。
    任务调度分类:
    1、系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
    2、个别用户工作,个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。

    基本语法

    crontab [选项]

    常用选项

    项目Value
    -e编辑 crontab 定时任务
    -l查询 crontab 任务
    -r删除当前用户所有的 crontab 任务

    快速入门

    1.设置个人任务调度:crontab -e
    2.输入任务:
    如:

    */1 * * * * ls -l /etc/ > /tmp/to.txt
    
    • 1

    这个命令的意思是每小时的每分钟执行ls -l /etc/ > /tmp/to.txt

    参数细节说明:
    1.*号的说明

    项目含义范围
    第一个“*”一小时当中的第几分钟0-59
    第二个“*”一天当中的第几小时0-23
    第三个“*”一个月当中的第几天1-31
    第四个“*”一年当中的第几月1-12
    第五个“*”一周当中的星期几0-7(0和7都代表星期日)

    即:

    分 时 日 月 星期几 [命令]
    
    • 1

    2.特殊符号的说明

    特殊符号含义
    *代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
    ,代表不连续的时间。比如“0 8,12,16***”命令,就代表在每天的8点0分,12点0分,16点0分都执行一次命令。
    -代表连续的时间范围。比如05**1-6命令,代表在周一到周六的凌晨5点0执行命令
    */n代表毎隔多久执行一次。比如"*/10****命令”,代表每隔10分钟就执行一遍命令

    注:

    • 如果只是简单的任务,可以不用写脚本,直接在 crontab 中加入任务即可。
    • 对于比较复杂的任务,需要写脚本。(Shell 编程)

    案例

    案例一:每隔一分钟将ls -l /etc/ 追加到 /tmp/to.txt 文件
    */1 * * * * ls -l /etc/ >> /tmp/to.txt
    
    • 1

    可以看到定时任务已经建立!
    在这里插入图片描述
    执行成功!
    在这里插入图片描述
    利用trontab -l可以查看当前的定时任务!
    在这里插入图片描述
    利用trontab -r可以结束所有的定时任务!
    在这里插入图片描述

    案例二:每隔一分钟执行python文件

    每隔一分钟执行/tmp/hello.py文件,这个文件里写输出"hello world!"

    使用 vi /tmp/hello.py 创建并打开hello.py文件
    写入:

    print("hello world!")
    
    • 1

    然后看看这个hello.py的权限,为root用户添加执行它的权限

    chmod 744 hello.py
    
    • 1

    在这里插入图片描述

    然后 crontab -e 让python执行这个hello.py文件,将结果输入到 log.txt

    */1 * * * * /usr/bin/python3  /tmp/hello.py >> /tmp/log.txt
    
    • 1

    在这里插入图片描述
    可以看到,执行成功!

    结语

    如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

    🏰系列专栏
    👉软磨 css
    👉硬泡 javascript
    👉flask框架快速入门

  • 相关阅读:
    49张图带领小伙伴们体验一把 Flowable-UI
    分饼干问题(DP)
    低代码软件简介及推荐列表
    SpringBoot案例(黑马学习笔记)
    Spring MVC文件请求处理详解:MultipartResolver
    Anaconda和PyCharm比较
    NReco.LambdaParser使用案例
    将list中的对象转换为另一个类型的对象
    超4000万行代码,WPS完成「鸿蒙化」:全面适配HarmonyOS NEXT!
    拷贝加密U盘文件
  • 原文地址:https://blog.csdn.net/qq_57421630/article/details/128056257