crontab命令小结

之前为了做数据库备份,了解了一些关于crontab的知识,现在将其总结一下。

一、什么是crontab?(以下参考百度)

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

二、crond服务

安装crontab:

yum install crontabs

服务操作说明:

/sbin/service crond 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

三、常用方法:

1). 创建一个新的crontab文件
创建一个名为 cron的文件,其中是用户名,例如, chensmcron。在该文件中加入如下的内容。

 # (put your own initials here)echo the date to the console every
 # 15minutes between 6pm and 6am
 0,15,30,45 18-06 * * * /bin/echo 'hello world' 

保存并退出。确信前面5个域用空格分隔。

$ crontab chensmcron

在上面的例子中,系统将每隔1 5分钟向终端输出一次“hello world”,关于crontab格式,我在某个博客里看到了一张好用(好记)的图:
crontab命令小结_第1张图片
这里就不过多赘述格式的问题
2). 列出crontab文件
为了列出crontab文件,可以用:

$ crontab -l

3). 编辑crontab文件

$ crontab -e

此处需要注意,可能需要在E D I TO R环境变量设置,大多数默认设置为vi,如果没有设置需要自行设置环境变量。
编辑$ HOME目录下的. profile文件,在其中加入这样一行:

EDITOR=vi; export EDITOR

4). 删除crontab文件

$ crontab -r

5). 注意事项
新创建的cron job,可能不会马上执行,需要过几分钟才执行。如果重启cron则马上执行。
当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
千万别乱运行crontab -r。它从crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了,crontab文件夹有T文件属性,感兴趣可以去了解一下哈哈。
在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’。

你可能感兴趣的:(笔记总结)