最新消息:yaf表单扩展中新增加了浮点数、日期和集合的校验。php yaf框架扩展实践三——表单

linux下利用crontab实现计划任务

Linux 2202浏览 0评论

crontab是linux下常用的的,用来设置周期性执行命令的工具。利用这个工具,可以帮助我们制定计划任务,对于系统管理员来说,非常有用。开发程序中,我也常用这个工具在凌晨定时备份数据库,程序代码等。

命令参数说明

crontab -[ler]
  • l:list,列出计划任务
  • e:edit,编辑计划任务
  • r:remove,移除所有计划任务

命令测试

1、编辑计划任务

crontab -e

编辑计划任务,其实就是编辑一个计划任务的文件,一行一个计划任务。

每行的格式如下:

# m h dom mon dow command

  • m:minute 分钟 (0-59)
  • h:hour 小时 (0-23)
  • dom:日 (1-31)
  • mon:month 月 (1-12)
  • dow:周 (0-7,其中0和7都代表星期天)
  • command:执行的命令

时间的最小单位是分钟,为了测试出结果,我使用每分钟将当前时间保存到/home/text.txt下来进行测试:

*/1 * * * * date > /home/text.txt

等待一分钟,检查下/home/text.txt文件,如果有看到时间就成功了。除了*号和/符号还有其它符号来设定时间:

符号 含义
*(星号) 表示什么时候都可以
,(逗号)
如果有多个时段,用逗号分开,例如我想每小时的30分和59分执行命令
30,59 * * * * date > /home/text.txt
-(减号)
一个时间段内执行任务,例如每小时的3-10分执行命令
3-10 * * * * date > /home/text.txt
/(斜线)
每隔多少时间就执行一次命令,例如上例
*/1 * * * * date > /home/text.txt
就是每隔1分钟执行一下命令

2、查看任务列表

crontab -l

这个命令可以查看计划任务列表,其实就是查看任务文件了。

3、删除计划任务

crontab -r

这个命令建议不要用,这个命令会删除系统上的所有计划任务,我曾在服务器上误删除了一次,结果花了不少时间恢复。建议通过crontab -e编辑,直接删除不需要的那一行,就可以了。

友情提示:

执行的命令中的路径建议使用全路径,这样一定不会有问题。例如我上例就是直接使用/home/text.txt;

在ubuntu下,如果没有选择默认的编辑器,则会提示选择编辑器,如下:

ubuntu计划任务选择编辑器

ubuntu计划任务选择编辑器

如果需要重新选择编辑器,运行命令select-editor就可以了 。我习惯用vim这个编辑器。

转载请注明:快乐编程 » linux下利用crontab实现计划任务

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址