linux 定时执行脚本

先写一个简单的shell脚本用来测试定时执行脚本

[root@VM-12-12-centos wz]# cat shell_cron_test.sh 
#!/bin/bash

if [ -f "/home/wz/cron_test.txt" ];
        then
                num=$(($(wc -l /home/wz/cron_test.txt | cut -d ' ' -f 1)+1))
        else
                num=1
fi
echo "$(date +"%y-%m-%d %H:%M:%S") 执行到了第$num次" >> /home/wz/cron_test.txt

执行一次这个脚本将会追加一条时间和执行次数的信息

[root@VM-12-12-centos wz]# cat cron_test.txt 
23-11-18 22:05:04 执行到了第1次
23-11-18 22:06:06 执行到了第2次

1.crond和crontab的关系

crond是用来定期执行任务的一种服务。

crontab是用来编辑和添加定时任务的命令。

2.设定定时任务 

查看crond服务状态

service crond status

或者

systemctl status crond

启动crond服务

service crond start

或者

systemctl start crond  

 停止crond服务

service crond stop

或者

systemctl stop crond 

重启 crond服务

service crond restart

或者

systemctl restart crond

crontab 选项

-e:编辑某个用户的周期执行服务

-u:指定用户,没有指定默认当前用户

-l:列出某个用户的周期执行服务

-r:删除某个用户的周期执行服务

-i :删除前提示某个用户的周期执行服务

进入当前用户的周期执行任务编辑器(操作和vim一样) 

crontab -e

 每一行表示一条周期执行计划

注意:命令中使用路径一定要使用 绝对路径

前面表示执行周期规则,后面表示要执行的命令 

 执行周期规则表示使用方法:

五部分分别表示: 

分钟   小时   天数   月数   周数 
minute   hour   day   month   week 

*:表示所有可能值,比如*号在分钟位置表示每分钟都执行命令

-:表示一个范围,比如* 2-4 * * *表示每天2,3,4点的每分钟分钟都执行命令

,:表示指定多个数值,比如* 2,4 * * *表示每天2,4点的每分钟分钟都执行命令

/ :表示指定时间频率,比如*/5 2,4 * * *表示每天2,4点的每5分钟分钟都执行命令

可使用工具在线Cron表达式生成器 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值