Ubuntu 使用 Cron 实现计划任务
ihoey发表于梦魇小栈
https://cloud.tencent.com/developer/article/1360036
在这篇文章中:

安装 cron 服务
启动 cron 服务
编辑计划文件
重启 cron 服务
管理任务计划文件
cron 语法格式
任务示例

Windows 自带定时执行任务的工具叫做“计划任务”,Linux 下我们使用 Cron 实现这一功能。
安装 cron 服务

通常 ubuntu 下自带 cron,如果没有也可以通过以下命令进行安装:apt-get install cron
若已经安装,输入以下命令判断 cron 服务是否启动:pgrep cron
如果有 pid (一串数字)输出则说明 cron 服务已经启动,没有任何输出说明需要手动启动 cron 服务。

启动 cron 服务

启动服务 service cron start

编辑计划文件

crontab -e

来打开你的用户所属的crontab文件。第一次用这个命令,会让你选择文本编辑器,我选的是vim。选定的编辑器也可以使用

你也可以每次自己更改 select-editor
重启 cron 服务

每次保存了crontab之后,我们还需要重启cron来应用这个计划任务。使用命令:sudo service cron restart
管理任务计划文件

cron 的所有任务计划都记录在 crontab 任务计划文件中,通过 crontab 命令对该任务文件进行管理。

$ crontab -u root -e #编辑用户 root 的计划任务文件

$ crontab -e #编辑当前用户的计划任务文件

$ crontab -u root -l #显示用户 root 的计划任务文件

$ crontab -l #显示当前用户的计划任务文件

$ crontab -r #删除当前用户的计划任务文件

cron 语法格式

m h dom mon dow command
0-59 0-23 1-31 1-12 0-7 command

m: 表示分钟
h: 表示小时
dom: 表示日期
mon: 表示月份
dow: 表示星期
command: 预执行的命令

另外需要使用一些特殊符号实现灵活的配置:

* 代表所有值
/ 代表“每”
- 代表范围
, 分割数字

任务示例

指定具体执行时间

2 * * * * ls #每个小时的第2分钟执行一次 ls 命令
30 7 * * * ls #每天7:30执行一次 ls 命令
30 20 * * 2 ls #每周二,20:30执行一次 ls 命令(0和7表示星期天)

指定间隔时间

*/2 * * * * ls #每隔2分钟执行一次 ls 命令

指定时间段

30 7 3-6 * * ls #每个月的3,4,5,6号的7:30分各执行一次 ls 命令

指定多个时间

30 7 3,6 * * ls #每月的3号和6号的7:30分各执行一次 ls 命令

另外,使用 run-parts 可以运行指定目录下所有的脚本(注意脚本必须加上 “#!/bin/bash”,否则 run-parts 会调用失败)

30 7 * * * run-parts /home #每天7:30运行 /home 目录下的所有脚本


其它脚本:

/2  *    *   *   /sbin/service httpd restart 意思是每两个小时重启一次apache
 7   *    *   *   /sbin/service sshd start 意思是每天7:50开启ssh服务
 22   *    *   *   /sbin/service sshd stop 意思是每天22:50关闭ssh服务
  0   1,15  *   *   fsck /home 每月1号和15号检查/home 磁盘
  *   *    *   *   /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件
 03   *    *  1-5  find /home "
.xxx" -mtime +4 -exec rm {} ; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
 6   */10  *   *   ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令


示例:

0   4   *   *   0  root  emerge --sync && emerge -uD world #每周日凌晨4点,更新系统
0   2   1   *   *  root rm -f /tmp/* #每月1号凌晨2点,清理/tmp下的文件
0   8   6   5   *  root  mail robin < /home/galeki/happy.txt #每年5月6日给robin发信祝他生日快乐

假如,我想每隔2分钟就要执行某个命令,或者我想在每天的6点、12点、18点执行命令,诸如此类的周期,可以通过 “ / ” 和 “ , ” 来设置:

*/2  *      *  *  *  root … #每两分钟就执行…
0   6,12,18  *  *  *  root … #每天6点、12点、18点执行…

每两个小时

0  */2  *  *  *  echo “have a break now.” >> /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0  23-7/2,8  *  *  *  echo “have a good dream:)” >> /tmp/test.txt

每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点

0  11  4  *  1-3  command line

1月1日早上4点

0  4 1 1 * command line

Ubuntu 使用 Cron 实现计划任务相关推荐

  1. Linux Crontab 定时任务 及 Ubuntu 中cron指令使用

    linux内置的cron进程能帮我们实现很多自动化需求,利用cron搭配shell脚本,即便十分复杂的指令也没有问题. 介绍 我们经常使用的是crontab命令是cron table的简写,我们可以在 ...

  2. linux实现任务计划,linux cron实现计划任务

    有时linux 需要定时执行脚本和命令,可以使用系统自带的crontab实现 环境ubuntu 配置文件位置,vi /etc/crontab # m h dom mon dow user comman ...

  3. ubuntu下cron不执行的常见问题

    cron常用命令: 查看当前执行的任务:crontab -l 编辑:crontab -e 保存:Crtl+x 按提示输入 Y 然后按 回车 键直接保存退出 1.ubuntu下cron打开日志: vi ...

  4. Linux之计划任务与系统安全(cron周期性计划任务)

    cron周期性计划任务 cron周期性计划任务用来定期执行程序,目前最主要的用途是定期备份数据 软件包名:cronie.crontabs 服务名:crond 日志文件:/var/log/cron cr ...

  5. Linux的归档及压缩,Linux的cron时间计划任务, NTP网络时间协议 , 查看网络连接...

    linux的归档及压缩:                   1.节约空间                   2.方便对零散文档的管理     tar集成备份工具:         -c:    创 ...

  6. Linux下cron周期性计划任务

    前面介绍的at是一次性任务,如果我们要周期性实行任务就要使用cron服务: 查看cron任务是否active: 通过crontab -e进入编辑: 每天的1点.3点.5点执行任务 可以见到任务创建成功 ...

  7. ubuntu 18.04 crontab 设置自动开关机

    Ubuntu 使用 Cron 实现计划任务 - 知乎 1.切换root su root 2.安装并启动 cron apt install cron 若已经安装,输入以下命令判断 cron 服务是否启动 ...

  8. 计划任务管理 之 计划任务工具 cron 的配置和说明

    作者:北南南北 来自:LinuxSir.Org 摘要:Linux操作系统中,计划任务通常由cron来承担,了解或掌握cron,能为我们管理服务器带来更多的便利,也能省却更多的时间.本文也举了一些简单明 ...

  9. cron计划任务书写格式

    用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务 软件包:cronie.crontabs   系统服务:crond 日志文件:/var/log/cron crontab: 计划任务的命令 编 ...

  10. 计划任务工具cron 的配置和说明

    一.计划任务概说 计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 crond 服务器来完成这项工作.cron服务器可以根据配置文件约定的时间来执行特定的 ...

最新文章

  1. 笔记本win7共享wifi操作说明
  2. python3.6安装pygame-Pygame 框架安装教程(Python3.6为例)
  3. python测试函数
  4. 图像分类_03分类器及损失:线性分类+ SVM损失+Softmax 分类+交叉熵损失
  5. 第5章 函数与函数式编程
  6. 6001. mavlink 编译与移植
  7. 我的docker随笔24:docker产生coredump文件
  8. rust怎么用items刷东西_rust服主怎么刷东西 | 手游网游页游攻略大全
  9. javascript RegExp正则表达式
  10. 最新搜索引擎网站提交登录入口和收录入口大全
  11. NetWare 5.1 Does Not Recognize CD-ROM Drive
  12. Adblock 插件规则语法实现B 站动态黑名单 - 隐藏特定用户的图文动态
  13. Render to Disk
  14. 融金所:云办公提升P2P金融“生命”
  15. 整理任正非思想:英雄好汉站出来-1995
  16. 如何判断是否适合学编程?
  17. 如何建立简易Rss源
  18. C/C++对汉字的读取
  19. DDR3基本概念2 - 上电复位时序
  20. 【名家名作】写意里有工笔 婉约中透豪气

热门文章

  1. 第 200 章 Office
  2. Lucene 如何热备份
  3. 交换机的VLAN技术
  4. 二、ReactDOM.render()
  5. 开坑,写点Polymer 1.0 教程第2篇(上)——hello world篇
  6. dom4j读取配置文件
  7. Asp.Net基础 - 6.Cookie + 7.Session原理
  8. JavaScript模块知识理解
  9. MySQL KEY分区
  10. Oracle SQL 精妙SQL语句讲解