详解在Unix和Linux操作系统中Cron的用法


/sbin/service crond start //启动服务

  /sbin/service crond stop //关闭服务

  /sbin/service crond restart //重启服务

  /sbin/service crond reload //重新载入配置

  可以将这个服务在系统启动的时候也自动启动:

  在/etc/rc.d/rc.local这个脚本的末尾加上:

  /sbin/service crond start

  1.直接用crontab命令编辑

  cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l //列出某个用户cron服务的详细内容

  crontab -r //删除没个用户的cron服务

  crontab -e //编辑某个用户的cron服务

  比如说root查看自己的cron设置:

  crontab -u root -l

  再例如,root想删除fred的cron设置:

  crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:

  引用:

  crontab -u root -e

  进入vi编辑模式,编辑的内容一定要符合下面的格式:

  */1 * * * * ls >> /tmp/ls.txt

  这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

  引用:

  分钟 (0-59)

  小时 (0-23)

  日期 (1-31)

  月份 (1-12)

  星期 (0-6)//0代表星期天

  除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:

  引用:

  每天早上6点

  0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

  每两个小时

  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

  2.编辑/etc/crontab 文件配置cron

  cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

  HOME=/

  # run-parts

  01 * * * * root run-parts /etc/cron.hourly //每个小时去执行一遍/etc/cron.hourly内的脚本

  02 4 * * * root run-parts /etc/cron.daily //每天去执行一遍/etc/cron.daily内的脚本

  22 4 * * 0 root run-parts /etc/cron.weekly //每星期去执行一遍/etc/cron.weekly内的脚本

  42 4 1 * * root run-parts /etc/cron.monthly //每个月去执行一遍/etc/cron.monthly内的脚本

  使用者 运行的路径

  注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

 

本文作者:



相关阅读:
MySQL数据导入导出方法与工具(3)
PHP中GET变量的使用
Javascript 八进制转义字符(8进制)
vs中通过剪切板循环来循环粘贴不同内容
Asp.Net 数据操作类(附通用数据基类)
带缓冲的 收缩与展开内容效果
javascript preload&lazy load
编写CSS代码时样式的命名规则
php中利用post传递字符串重定向的实现代码
DIV任意拖动的问题
vs.Net2003无法打开或创建Web应用程序若干解决办法.
通过修改注册表实现IE8固定显示微软雅黑字体
系统音量调节的两个小技巧
Windows XP更新 添加对exFAT文件系统格式的支持
快速导航

Copyright © 2016 phpStudy |