crontab是linux下的周期性被执行的指令,下面我们简单的了解下
安装crontab
yum install crontabs
关于cron的一些命令
/sbin/service crond start //启动服务centos启动cron两种方式a) /etc/init.d/crond startb) service crond startubuntu启动cron两种方式a) /etc/init.d/cron startb) service cron start(推荐)
/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置查看crontab服务状态: service crond status手动启动crontab服务: service crond start查看crontab服务是否已设置为开机启动,执行命令: ntsysv加入开机自动启动: chkconfig –level 35 crond on
crontab命令介绍
语 法: crontab [-u <用户名称>][配置文件] 或crontab [-u <用户名称>][-elr]参 数:-e 编辑该用户的计时器设置。-l 列出该用户的计时器设置。-r 删除该用户的计时器设置。-u<用户名称> 指定要设定计时器的用户名称。
举 例:crontab -l //查看当前所有的任务列表crontab -e //编辑任务列表当编辑完成之后按 esc 键输入 :wq + Enter 退出并保存,被编辑的内容就生效了
crontab 格式
基本格式:* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用 或者 /1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列 表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令
应用实例
执行 crontab -l 查看当前的任务列表,得到如下内容5 7,18 * * * /www/task/wdcp_release_mem.php // 每天07:05和18:05执行后面这个php文件
在线crontab小工具推荐:
http://tool.lu/crontab
2.添加定时任务[每个整点执行ls命令]
centos
crontab -e命令打开文件
添加一行:0 * * * * ls
ubuntu
crontab -e命令打开文件[ps:第一次用这个命令,会让你选择文本编辑器,输入对应的编辑器编号,这个问题后面有详解]
添加一行:0 * * * * ls
保存退出
3.查看定时任务
centos||ubuntu
crontab -l
以上是一个简单的定时任务的操作,
crontab命令选项
crontab file [-u user] 用指定的文件代替默认的crontab文件,例如:crontab /var/mycron.txt -u root
如果想还原默认的文件,执行crontab -r删除任务
crontab -l [-u user] 列出指定用户当前的任务
crontab -e [-u user] 编辑指定用户定时任务
crontab -r [-u user] 删除指定用户当前的任务
crontab文件语法
格式为:分(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-6) 命令(command)
记住几个特殊符号的含义:
"*"代表取值范围内的数字,
"/"代表”每”,
"-"代表从某个数字到某个数字,
","分开几个离散的数字
例如:
* * * * * ls 表示每分钟执行一次ls命令
5 * * * * ls 表示每个小时的第5分钟执行一次ls命令
30 5 * * 0 ls 表示每星期日的5:30分执行一次ls命令
20 3-8 * * * ls 表示每天3点到8点的第20分执行一次ls命令
*/15 * * * * php -f /varwww/index.php 表示每小时的0,15,30,45执行一次php文件