假如你有一些任务要定期执行,比如清理磁盘、删除过期文件、发送邮件和提醒,这个时候可以用cron来实现。

crond是后台进程,而crontab则是定制好的计划任务表。

启动与停止

  • 查看状态/sbin/service crond status
  • 启动cron服务 /sbin/service crond start
  • 停止服务 /sbin/service crond stop
  • 重启服务 /sbin/service crond restart

你也可以将这个服务开机自动启动,在/etc/rc.d/rc.local这个脚本的末尾加上:

 /sbin/service crond start 

使用crontab命令

  • crontab -u 设定某个用户的cron服务
  • crontab -l 列出当前用户的cron服务的详细内容
  • crontab -l -u elesos //列出用户elesos的所有调度任务
  • crontab -r 删除当前用户的cron服务
  • crontab -e 编辑当前用户的cron服务

例如当前登陆的用户是root

运行crontab -e 会给root用户创建一个计划任务;并进入vi编辑计划任务内容。

分     小时     日      月       星期        命令 0-59  0-23    1-31   1-12      0-6       command(一般一行对应一个任务)

第1个数字表示分钟(0-59),第2个数字表示小时(0-23),第3个数字表示天(1-31),第4个数字表示月份(1-12),第5个数字表示星期(0-6),其中0表示周日。后面便是你要执行的任务。

各部分之间使用空格分开。

上面的时间除了使用数字外还有几个特殊符号:

  • “*”表示所有数值 ,如第一位使用* 表示每分钟
  • “/”表示每, 如果第一位 使用 */5 表示每5分钟
  • “-”表示数值范围,“ ,”用来隔开离散的数值,如第2位 是1-6,8 表示1点到6点,还有8点。

还有一种方法可以添加计划任务,那就是自己编辑/etc/crontab (cron服务每分钟也读取一次/etc/crontab文件)

在文件的末尾添加计划任务,格式和上述方法完全一样。

/etc/crontab里面还有其他的东西:

MAILTO=root //如果出现错误,或者有数据输出,数据会作为邮件发给这个帐号 0 1 * * * * root run-parts/etc/cron.hourly   //每个小时去执行一遍/etc/cron.hourly内的脚本 02 4*** root run-parts/etc/cron.daily    //每天去执行一遍/etc/cron.daily内的脚本 224**0 root run-parts/etc/cron.weekly   //每星期去执行一遍/etc/cron.weekly内的脚本 4241** root run-parts/etc/cron.monthly   //每个月去执行一遍/etc/cron.monthly内的脚本

注意上面的 run-parts 参数,如果去掉run-parts ,后面就要跟某个脚本名,如果加上run-parts参数,后面就要跟目录名了。

示例

  • 每天1点向某个文件写入一段话
0   1   *  *  * echo "hello elesos" >> /tmp/test.txt 

  • 每5分钟执行一个程序或者命令
*/5  *  *  *  *   执行的命令 

  • 每隔1分钟向文件输出”hello elesos”
*/1 * * * * echo "hello elesos" >> /data/leijh/test.txt 

可通过tail -f text.txt进行验证,或查cron的日志tail -f /var/log/cron

  • 执行脚本

先新建一个output.sh脚本

echo "hello elesos" >> /data/leijh/output.txt 

再修改计划任务

*/1 * * * * /data/leijh/output.sh 

也能达到同样效果。

艺搜参考

http://os.51cto.com/art/201011/233945.htm

http://os.51cto.com/art/201003/187722.htm

http://aub.iteye.com/blog/1326200

Linux定时,计划任务cron的更多相关文章

  1. Linux定时计划(crontab)使用说明

    一.设置定时计划步骤 第一步,编缉计划文件:crontab -e 第二步,在文件中写入计划,格式如:minute hour day month week command.如0 8 * * * sh / ...

  2. linux 的计划任务 cron

    https://serverfault.com/questions/587696/how-to-restart-php-fpm-from-cron 我也遇到了这个问题,想用cron 来启动php-fp ...

  3. linux 定时计划任务设置

    安装 crontabs服务并设置开机自启 yum install crontabs systemctl enable crond (设为开机启动) systemctl start crond(启动cr ...

  4. cron,linux定时脚本

    Linux的cron和crontab Cron定时执行工具详解 Linux下的crontab定时执行任务命令详解 Linux上启动Cron任务 [linux]解析crontab cron表达式详解 c ...

  5. linux任务计划cron

    linux任务计划cron 1.crontab命令任务计划配置文件 [root@bogon ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/ ...

  6. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  7. Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍

    一.linux任务计划cron crontab -u  -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...

  8. linux的服务管理(centos6和Centos7)和网络管理(网卡配置),计划服务cron

    服务和网络 管理 init  ifcfg ens33 1.服务: Linux系统中提供的功能,统称为服务,如:at服务.cron服务.web服务.FTP服务.sshd服务等. 服务是由已经在运行的进程 ...

  9. Linux任务计划

    Linux任务计划: 一次性任务执行(at.batch): at:定时任务,指定一个时间执行一个任务,只能执行一次. at使用方式: 交互式:让用户在at>提示符输入多个要执行的命令: 批处理: ...

  10. linux定时执行任务crontab命令用法

    linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...

随机推荐

  1. SQL Server 2008登录错误:无法连接到(local)的解决方法

    1.服务器类型我们选择了“数据库引擎”时,查找里面的可登录用户名是没有的,下边的服务器名称只显示为“(local)”,连“Windows 身份验证”都无法登录. 如果朋友们和我出错的问题是一样请看下面 ...

  2. codeforces 515A.Drazil and Date 解题报告

    题目链接:http://codeforces.com/problemset/problem/515/A 题目意思:问能否从 (0, 0) 出发,恰好走 s 步,到达该位置(a, b). 首先容易知道, ...

  3. 【编程题目】栈的 push、pop 序列

    29.栈的 push.pop 序列(栈)题目:输入两个整数序列.其中一个序列表示栈的 push 顺序,判断另一个序列有没有可能是对应的 pop 顺序.为了简单起见,我们假设 push 序列的任意两个整 ...

  4. HDU 5901 Count primes (1e11内的素数个数) -2016 ICPC沈阳赛区网络赛

    题目链接 题意:求[1,n]有多少个素数,1<=n<=10^11.时限为6000ms. 官方题解:一个模板题, 具体方法参考wiki或者Four Divisors. 题解:给出两种代码. ...

  5. UVA 11827 Maximum GCD

    F - Maximum GCD Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Given the ...

  6. 【XLL API 函数】 xlDefineBinaryName

    用于为 xltypeBigData XLOPER/XLOPER12 分配永久存储名称.用于定义 workbook 保存的位名称,并能在任何时候通过定义名称来访问. 函数原型 Excel12(xlDef ...

  7. php Internal Server Error

    Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...

  8. [Android Pro] adb 进入 recovery, adb 进入 bootloader

    reference to : http://blog.csdn.net/mldxs/article/details/18699965 重启到Recovery界面 adb reboot recovery ...

  9. SSH详解

    Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议.加密保证了数据的保密性和完整性.SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用 ...

  10. Redis自定义动态字符串(sds)模块(一)

    Redis开发者在开发过程中没有使用系统的原始字符串,而是使用了自定义的sds字符串,这个模块的编写是在文件:sds.h和sds.c文件中.Redis自定义的这个字符串好像也不是很复杂,远不像ngin ...