定时任务crond

定时任务crond

1.什么是crond

crond就是计划任务,类似于我们平时生活中的闹钟.定点执行.

2.为什么要使用crond

crond主要是做一些周期性任务,比如: 凌晨3点定时备份数据。比如:11点开启网站抢购接口,12点关闭网站抢购接口。

3.计划任务主要分为以下两种使用情况:

1.系统级别的定时任务: 临时文件清理、系统信息采集、日志文件切割

2.用户级别的定时任务: 定时向互联网同步时间、定时备份系统配置文件、定时备份数据库的数据

4.crond的使用

1.定时任务crontab的安装与启动相关
安装crontab:

yum install crontabs

service crond start     #启动服务
service crond stop      #关闭服务
service crond restart   #重启服务
service crond reload    #重新载入配置
service crond status    #crontab服务状态

查看crontab服务是否已设置为开机启动,执行命令:

ntsysv (图形界面,慎用)

加入开机自动启动:

chkconfig –level 35 crond on

2.命令格式说明
 crontab -e 进入定时任务,使用 vim 编辑 crontab 定时任务,可添加或删除,默认为空,只需按照格式写入
 crontab -l 查看该用户下的crontab服务是否创建成功
 crontab -r 删除当前用户所有的 crontab 任务
 crontab file 用指定的文件替代目前的crontab
 crontab -d 删除用户目前的crontab
 crontab -c 指定crontab的目录
 
 
 查看服务是否已经运行用 ps -ax | grep cron

3.定时任务的格式
crontab 格式:

基本格式 :

分   时   日   月   周   命令

*    *    *   *    *     *

第1列表示分钟1~59 每分钟用*或者 */1表示  每5分钟用*或者 */5表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~7(0和7都代表周日)
第6列要运行的命令

记住几个特殊符号的含义:
“*”表示任意时间的意思
“/”代表”每”,
短杠“-”	代表连续的时间范围。
“,”分开几个离散的数字,代表不连续的时间 
*/n	代表每隔多久执行一次

例:
[root@root test]# crontab -l
00 02 * * * sh /home/admin/optbash/dailyBackup.sh
00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh
*  *  * * * sh /home/admin/test/test.sh

使用者权限文件:

文件:

/etc/cron.deny

说明:

该文件中所列用户不允许使用crontab命令

文件:

/etc/cron.allow

说明:

该文件中所列用户允许使用crontab命令

文件:

/var/spool/cron/root

说明:

所有用户crontab文件存放的目录,以用户名命名

5.提醒

$ crontab

​ 其中,是你在$ H O M E目录中副本的文件名。

我建议你在自己的$ H O M E目录中保存一个该文件的副本。容易误删(因为r键紧挨在e键的右边)。这就是为什么有些系统文档建议不要直接编辑crontab文件,而是编辑该文件的一个副本,然后重新提交新的文件。

有些crontab的变体有些怪异,所以在使用crontab命令时要格外小心。如果遗漏了任何选项,crontab可能会打开一个空文件,或者看起来像是个空文件。这时敲delete键退出,不要按<Ctrl+D>,否则你将丢失crontab文件。

6.crond注意的事项

  1. 给定时任务注释

  2. 将需要定期执行的任务写入Shell脚本中,避免直接使用命令无法执行的情况tar date

  3. 定时任务的结尾一定要有&>/dev/null或者将结果追加重定向>>/tmp/date.log文件

  4. 注意有些命令是无法成功执行的 echo "123" >>/tmp/test.log &>/dev/null

5)如果一定要是用命令,命令必须使用绝对路径

posted @ 2020-03-04 15:29  Beua  阅读(179)  评论(0)    收藏  举报