计划任务文件 linux,怎么在Linux实现计划任务

如何在Linux实现计划任务

在Windows系统下,可以通过设置计划任务,让该任务按照设定的时间启动运行,解决了人工干预的烦恼,在Linux下也有类似的功能,它就是crontab

crontab是什么

crontab可以让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。它是linux系统下一个自动执行指定任务的系统程序。例如,你想在每晚零时开始让爬虫抓取网页,就可以用cron来自动执行。

部分参数说明

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-1[user]-列出用户目前的crontab.

crontab-e[user]-编辑用户目前的crontab.

crontab-d[user]-删除用户目前的crontab.

crontab-c dir- 指定crontab的目录。

注意:

-u user用来指定该user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

crontab文件的格式:M H D m d COMMAND.

M: 分钟(0-59)

H:小时(0-23)

D:天(1-31)

m: 月(1-12)

d: 一星期内的天(0~6,0为星期天)

COMAND为你要运行的程序,这个程序被送入shell执行

一些实例

0 23* * * /home/peter/crawl.sh

每晚的23:00 开始运行/home/peter/crawl.sh (*表示该项为所有时段)

45 4 1,10,20 * * /home/peter/crawl.sh

每月1号、10号和20号的4:45 执行 /home/peter/crawl.sh

10 1 * * 6,0 /home/peter/craws.sh

每周六、周日的1:10运行 /home/peter/crawl.sh

0,30 18-23 * * * /home/peter/crawl.sh

每天18:00-23:00之间每隔30分钟运行/home/peter/crawl.sh

以指定用户的身份来运行程序

如果你想以用户peter的身份每小时的第15分钟运行某个程序,可以使用

15 * * * * peter /home/peter/crawl.sh

其中的星号(*)是通配符,表示cron将忽略这个字段

如果你想每两小时就运行某个程序,可以在小时字段里使用 */2。它将会在2点,4点,6点……22点,24点运行。

cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30:

15,30 * * * * peter /home/peter/crawl.sh

实现定时task的两种方式

一种是编辑一个文件,用crontab 载入

一种是用crontab -e 直接编辑生效

crontab错误的几种原因

如果你的crontab没有按照你的意愿执行,那么就需要检查如下几点

COMMAND的路径是否有问题

Shell脚本是否有问题

该用户是否有执行权限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值