文章目录
linux(ubuntu)中crontab定时器命令详解
crontab 是一个用于创建、编辑和管理用户的定时任务的命令,它可以让用户在指定的时间自动执行指定的命令或脚本。
基本语法
- -e:编辑用户的 crontab 文件;
- -l:列出用户当前的 crontab 内容;
- -r:删除用户的 crontab 文件;
- -i:在删除用户 crontab 文件之前进行确认。
crontab 文件格式
每一行代表一个定时任务,格式如下:
* * * * * command
分别表示分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、星期(0-7)和要执行的命令。
第1列:分钟1-59 每分钟用*或者 */1表示
第2列:小时1-23(0表示0点, 10表示10点,20-6表示晚上八点到第二天6点期间)
第3列:日期1-31(7表示每月7日,7,8,15表示每月7日、8日、15日)
第4列:月份1-12
第5列:星期几,可选范围0-6(0表示星期天,1表示星期一,6表示星期六)
第6列:运行的命令
即:
:任意时刻,如在分钟位置上就表示每分钟,在小时位置上就表示每小时
逗号拼接:自定义的几个时刻
中划线拼接:连续的一个时间段
斜杠:表示每隔,如分钟位置上/60就表示每60分钟
通配符
- *:代表所有可能的值;
- ,:用于指定多个值;
- -:用于表示一个范围值;
- /:用于表示重复的频率。
示例
命令 | 解释 |
---|---|
0 0 * * * bash /root/autoDeploy.sh >/root/cron.log 2>&1 | 每天00:00 执行 /root/autoDeploy.sh 脚本 日志放到 /root/cron.log 文件中 |
* * * * * command | 每分钟执行一次 |
* /10 * * * * command | 每十分钟执行一次 |
0 * * * * command | 每小时执行一次 |
* */2 * * * command | 每两小时执行一次 |
15 */1 * * * command | 每小时的第15分钟执行 |
15,30 */1 * * * command | 每小时的第15分钟、第30分钟执行一次 |
0 0 * * * * command | 每天午夜执行一次 |
8 7,8,10 * * * command | 每天7:08,8:08,10:08执行 |
0 0 * * 1 command | 每周一午夜执行一次 |
0 0 1 * * command | 每月1号午夜执行一次 |
一次类推吧:
周一至周五每天早上6:35执行
35 6 * * 1,2,3,4,5 root /a/b/c.sh > /var/log/c_cron.log &
或
35 6 * * 1-5 root /a/b/c.sh > /var/log/c_cron.log &
在Ubuntu中,定时任务cron服务默认被安装。可以通过以下命令操作该服务:
service cron status 查看服务运行状态
service cron start 启动服务
service cron stop 停止服务
service cron restart 重启服务 每次设置完记得重启一下
其他注意事项
每个用户可以有自己的 crontab 文件,存储在 /var/spool/cron 目录中;
root 用户的 crontab 文件通常存储在 /etc/crontab 文件中;
使用 crontab 命令需要具有足够的权限;
crontab 启动时会读取 crontab 文件并加载定时任务,可以使用 service crond restart 命令将其重新加载。
windows中定时器
windows中定时任务主要是:任务计划程序中创建任务的操作的脚本绝对路径路径,起始于一定要写脚本的目录的父级目录的绝对路径才可以生效。
此电脑 --> 右键管理 --> 系统工具 --> 任务计划程序 --> 任务计划程序库 --> 创建任务 --> 常规 --> 触发器 --> 操作–>确定
任务的创建步骤:
常规
触发器
操作
编辑操作
条件、设置、历史记录
这些默认不写也可以,也可以根据自己的去更改