1、安装crond服务linux
yum -y update yum -y install cronie yum-cron
2、crontab任务语法shell
crontab任务配置基本格式: * * * * * command 第1列表示分钟0~59 每分钟用 * 或者 */1 表示 第2列表示小时0~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0,7均可表示星期天) 第6列要运行的命令或执行shell脚本
综合起来就是: 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天) 命令spa
从上面能够看出,crontab最小的时间单位: 1分钟。若是要每30秒执行一次脚本,要么写个小脚本,要么在crontab增长延迟。rest
例子:crontab中增长延迟30秒来实现日志
a、crontab -e,添加以下内容: */1 * * * * sh && echo "dd" >> /logs/cron-cc.log */1 * * * * sleep 30 && echo "cc" >> /logs/cron-cc.log b、重启crond systemctl reload crond systemctl restart crond c、查看当前用户定时任务 crontab -l d、经过日志查看是否生效 tail -f /logs/cron-cc.log
案例一:每隔10秒执行一次code
##crontab设置的最小时间为每分钟,实现以秒为单位进行定时任务执行。blog
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 10 && sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 30 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
*/1 * * * * sleep 50 && sh /root/shell/aa.sh
注意:aa.sh为执行脚本crontab
案例二:每隔20秒执行一次class
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
注意:aa.sh为执行脚本
案例三:每隔5分钟执行一次后台
*/5 * * * * sh /root/shell/echo.sh
3、crontab经常使用命令
##查看当前用户定时任务 crontab -l 调用/var/spool/cron/目录下相关用户的定时任务信息 查看定时任务日志 tail -f /var/log/cron systemctl status crond.service systemctl start crond.service systemctl stop crond.service systemctl restart crond.service systemctl reload crond.service 把cron服务加入linux开机自启动 systemctl enable crond.service systemctl is-enabled crond.service #crond后台的工做状况并过滤出来 ps -ef |grep crond|grep -v grep