Linux添加cron任务

Linux添加cron任务

linux cron服务只支持到分钟级别,要想实现秒级的定时任务,需要结合其他脚本实现

查看服务状态

注:第一次使用crond网上有人说需要安装crond服务!可以通过命令 rpm -qa|grep cron 查看是否安装了该服务!

1. 查看cron的状态,设为开机启动

$ systemctl status crond (查看状态)

$ systemctl enable crond (设为开机启动)

$ systemctl start crond (启动crond服务)

编辑任务

crontab -u 用户名 -e (编辑用户的定时任务,指定的执行的用户,默认为当前执行命令的用户)
crontab -e 默认使用当前用户
编辑完成以后,会在/var/spool/cron下生成用户名的文件,里面保存了配置的定时任务
编辑保存的命令同vim
保存以后即生效,无需重启crond服务

除了这样编辑外,还可以直接写到crond的主配置文件内,默认执行者为root。

vim /etc/crontab (直接在最下面添加你的任务命令即可)

时间格式

------------------------# crontab基本格式

# +---------------- minute  分钟(0 - 59)

# |  +------------- hour    小时(0 - 23)

# |  |  +---------- day     日期(1 - 31)

# |  |  |  +------- month   月份(1 - 12)

# |  |  |  |  +---- week    星期(0 - 7) (星期天=0 or 7)

# |  |  |  |  |

# *  *  *  *  *  要运行的命令
[分] [时] [日] [月] [周] [需要执行的命令]
*/30 * * * * /usr/local/mycommand  (每天,每30分钟执行一次 mycommand命令)

常用命令

crontab -l #查看当前用户的定时任务
crontab -r #删除用户的定时任务
#查看定时任务执行日志
cat /var/log/cron

如何实现秒级执行

1.每十秒执行一次
crontab -e中输入以下内容:

* * * * * cd echo "hello"`date +%H:%M:%S` >> /home/test.log
* * * * * sleep 10; echo "hello"`date +%H:%M:%S` >> /home/test.log
* * * * * sleep 20; echo "hello"`date +%H:%M:%S` >> /home/test.log
* * * * * sleep 30; echo "hello"`date +%H:%M:%S` >> /home/test.log
* * * * * sleep 40; echo "hello"`date +%H:%M:%S` >> /home/test.log
* * * * * sleep 50; echo "hello"`date +%H:%M:%S` >> /home/test.log


2.每秒执行一次
crontab -e中执行该脚本
* * * * * /home/lecent.sh
或者
* * * * * sh && /home/lecent.sh

#lecent.sh如下:
#!/bin/bash 
step=1 #间隔的秒数,不能大于60 
for (( i = 0; i < 60; i=(i+step) )); do 
echo "hello"`date +%H:%M:%S` >> /home/test.log
sleep $step 
done 
exit 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。