博客
关于我
linux(ubuntu)中crontab定时器命令详解 以及windows中定时器
阅读量:794 次
发布时间:2023-02-05

本文共 2130 字,大约阅读时间需要 7 分钟。

linux(ubuntu)中crontab定时器命令详解

crontab 是一个强大的工具,用于在 linux 系统中创建、编辑和管理用户的定时任务。它允许管理员或普通用户在指定时间自动执行特定的命令或脚本。以下是关于 crontab 的详细说明,涵盖了基本使用方法、文件格式、常用实例以及一些注意事项。


crontab 的基本语法

crontab 命令提供了多种选项来管理定时任务文件。以下是常用的选项:

  • -e:打开用户的 crontab 文件进行编辑。
  • -l:列出当前用户的 crontab 内容。
  • -r:删除用户的 crontab 文件。
  • -i:在删除 crontab 文件前进行确认。

通过这些选项,可以方便地管理定时任务文件。例如,使用 crontab -e 可以直接进入编辑模式,而 crontab -l 则可以查看当前任务的状态。


crontab 文件格式

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

分钟(0-59)小时(0-23)日期(1-31)月份(1-12)星期(0-7)命令

每一列的取值范围如下:

  • 分钟(0-59):可以使用 * 表示所有分钟,或者 */n 表示每 n 分钟执行一次。
  • 小时(0-23):同样支持 **/n-nn-m 等格式,0 表示 00:00,10 表示 10:00,20-6 表示每天 20:00 到次日 06:00。
  • 日期(1-31):可以使用 * 表示每天所有日期,n 表示特定日期(如 7 表示每月 7 日)。
  • 月份(1-12):使用 * 表示所有月份,n 表示特定月份。
  • 星期(0-7):0 表示星期天,1 表示星期一,7 表示星期六。
  • 命令:要执行的具体命令或脚本路径。

通配符的使用技巧

crontab 支持以下几个通配符:

  • *:表示所有可能的值。
  • ,:用于指定多个值,例如 1,3,5 表示每天的第 1、3、5 分钟。
  • -:表示一个范围,例如 1-5 表示从第 1 分钟到第 5 分钟。
  • /:表示间隔频率,例如 */5 表示每 5 分钟执行一次。

通过合理运用这些通配符,可以创建非常灵活的定时任务。


常见实例

以下是一些常见的 crontab 定时任务示例:

  • 每天 00:00 执行脚本

    0 0 * * * /path/to/script.sh >> /var/log/cron.log 2>&1
  • 每分钟执行一次

    * * * * * echo "每分钟执行一次" >> /var/log/cron.log
  • 每十分钟执行一次

    * /10 * * * * echo "每十分钟执行一次"
  • 每小时执行一次

    0 * * * * echo "每小时执行一次"
  • 每两小时执行一次

    * */2 * * * * echo "每两小时执行一次"
  • 每月的第 15 日执行

    15 * * * * * echo "每月 15 日执行"
  • 每周一和每周二执行

    0 0 * * 1,2 echo "每周一和周二执行"
  • 每月的第 1 日执行

    0 0 1 * * * echo "每月 1 日执行"

  • 在 Ubuntu 中使用 crontab

    在 Ubuntu 系统中,cron 服务通常是预安装的。可以通过以下命令管理 cron 服务:

    • service cron status:查看 cron 服务的运行状态。
    • service cron start:启动 cron 服务。
    • service cron stop:停止 cron 服务。
    • service cron restart:重启 cron 服务。

    记得在设置完 crontab任务后,重新启动 cron 服务以确保新任务生效。


    其他注意事项

  • 用户权限:使用 crontab 命令需要具备足够的权限。普通用户可以管理自己的 crontab 文件,而 root 用户的任务通常存放在 /etc/crontab 文件中。

  • 文件存储位置:用户的 crontab 文件位于 /var/spool/cron 目录中,而 root 用户的任务文件通常位于 /etc/crontab

  • 任务加载:crontab 会自动读取文件并加载任务。可以使用 service crond restart 命令来重新加载任务。


  • Windows 中定时任务的替代方案

    在 Windows 系统中,常用的定时任务管理工具是任务计划程序(Scheduled Tasks)。以下是创建任务的基本步骤:

  • 打开任务计划程序

    • 进入 "此电脑",右键点击 "管理"。
    • 选择 "系统工具" > "任务计划程序" > "任务计划程序库"。
  • 创建新任务

    • 右键点击 "创建新的任务"。
    • 填写任务的配置信息,包括触发器、操作和设置。
  • 设置触发器

    • 选择触发器类型(如按时触发)。
    • 设置具体的时间配置。
  • 添加操作

    • 添加要执行的命令或脚本路径。
    • 可以将输出日志配置到指定文件中。

  • 通过以上方法,用户可以在 linux 和 Windows 系统中轻松管理定时任务。crontab 在 linux 系统中功能强大且灵活,而 Windows 的任务计划程序则提供了直观的图形界面,适合普通用户使用。

    转载地址:http://qgkfk.baihongyu.com/

    你可能感兴趣的文章
    Linux服务器之间互信(无密码输入)
    查看>>
    Linux服务器又被暴力登录了?资深系统架构师教你一招:修改SSH默认端口!
    查看>>
    linux服务器大量TIME_WAIT状态问题
    查看>>
    linux服务器如何配置qq邮箱,linux用mail往qq邮箱发邮件
    查看>>
    Linux服务器安装Nginx
    查看>>
    Linux服务器性能测试_Linux服务器网速测试
    查看>>
    Linux服务器搭建DNS服务:深入解析与实战配置!------文章最后有福利哦,快来领取。...
    查看>>
    linux服务器的常规操作命令,Apache服务器常规操作
    查看>>
    Linux服务器的稳定性优势有哪些
    查看>>
    linux服务器的稳定性优势有哪些
    查看>>
    Linux服务器运行命令df -h无响应
    查看>>
    Linux服务器还有漏洞?建议使用 OpenVAS 日常检查!
    查看>>
    Linux服务器配置DNS解析(非常详细)零基础入门到精通,收藏这篇就够了
    查看>>
    linux服务器配置nginx
    查看>>
    Linux本地数据上传到阿里云OSS
    查看>>
    Linux查看CPU和内存使用情况
    查看>>
    Linux查看mac地址
    查看>>
    Linux查看当前时间
    查看>>
    linux查看文件大小
    查看>>
    Linux查看服务器端口打开情况
    查看>>