1、cron
1.1、什么是cron
Linux中,周期执行的任务一般由cron这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
1.2、cron的操作
查看cron状态

开启cron Sodu /etc/init.d/cron start
关闭cron Sodu /etc/init.d/cron stop
重启cron Sodu /etc/init.d/cron restart

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
1.3、cron的配置含义
在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔:

比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
1.4、遇到的问题
除了root用户之外的用户可以执行crontab配置计划任务。所 有用户定义的crontab存储在目录/var/spool/cron下,任务会以创建者的身份被执行。要以特定用户创建一个crontab,先以该用户 登录,执行命令crontab -e,系统会启动在VISUAL或者EDITOR中指定的的编辑软件编辑crontab。文件内容与/etc/crontab格式相同。
当更改的crontab需要保存时,文件会保存在成如下文件/var/spool/cron/username。文件名会根据用户名而不同。
cron服务会每分钟检查一次/etc /crontab、/etc/cron.d/、/var/spool/cron文件下的变更。如果发现变化,就会下载到存储器中。因此,即使 crontab文件改变了,程序也不需要重新启动。推荐自定义的任务使用crontab -e命令添加,退出后用/etc/init.d/crond restart命令重启crond进程,官方文件说不用重启进程,但我遇到不重启无法运行任务的情况。开始不知道/etc/crontab文件中的 run-parts是什么意思,直接把命令按照/etc/crontab的格式加上总是无法运行,后来才知道run-parts是指后面跟着的是文件夹。

2、Shell 小脚本
编辑一个.sh文件,以#!/bin/sh 开头

Sh 执行:

命令行执行:

注意:在cron定时任务执行下,echo ok是不会显示在屏幕上的。
问题:
bin/sh^M: bad interpreter: No such file or directory
原因是.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。解决:转变文件的编码格式
1、确保用户对文件有读写及执行权限 chmod
2、使用vi工具:set ff 或 :set fileformat查看,一般可以看到如下信息:
fileformat=dos 或 fileformat=unix
3 修改 :set ff=unix 或 :set fileformat=unix
3、使用crontab,让linux定时执行shell脚本
# crontab –e
这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行:
0 0 * * * /home/liyulin/XXXXXXXX.sh
这将会在每天凌晨运行 指定的.sh文件

参考文献
http://www.cnblogs.com/kaituorensheng/p/4494321.html –linux定时执行脚本