使用crontab定时执行任务

1. 基本命令

通过crontab -e命令,启动编辑器,编辑时程表。

crontab -e

# -e:编辑时程表
# -r: 删除目前的时程表
# -l: 列出目前的时程表

首次使用时,会提示用户选择一种编辑器,一般选择第2种(Vim)。

user@i-5uaiehyz:~$ crontab -e
no crontab for ubuntu - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]:

可通过以下命令更改默认的编辑器:

select-editor

2. 设置定时任务

示例:

5 12 * * * bash /home/user/test.sh
# 在每天的12点05分,执行test.sh脚本

说明:

f1 f2 f3 f4 f5 program

# f1控制分钟、f2控制小时、f3控制一个月中的第几天、f4控制月份、f5控制一个星期中的第几天、program表示要执行的程序
# 共有以下4中表示方式:
# 1、当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推
# 2、当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,以此类推
# 3、当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,以此类推
# 4、当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,以此类推

*    *    *    *    *   program
-    -    -    -    -      -
|    |    |    |    |      |
|    |    |    |    |      +----- 要执行的程序
|    |    |    |    +------------ 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +----------------- 月份 (1 - 12) 
|    |    +---------------------- 一个月中的第几天 (1 - 31)
|    +--------------------------- 小时 (0 - 23)
+-------------------------------- 分钟 (0 - 59)

3. 重启cron

新创建的 cron 任务不会马上执行,如果需要立即执行,可以重启 cron 服务:

service cron restart

4. 注意

启动Java程序时,需要在脚本中配置环境变量。

5. 示例

5.1 脚本

#!/bin/bash

export JAVA_HOME=/home/ubuntu/tools/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH

nohup java -jar /home/ubuntu/MyPrinter-1.0-SNAPSHOT.jar >run.log 2>&1 &

5.2 修改脚本权限

chmod 777 timer.sh

5.3 定时任务

通过crontab -e命令配置定时任务

# 每分钟调用一次timer.sh脚本
* * * * * /home/ubuntu/timer.sh

6. 参考

Linux crontab 命令 | 菜鸟教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值