• linux 定时执行脚本


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

    1. [root@VM-12-12-centos wz]# cat shell_cron_test.sh
    2. #!/bin/bash
    3. if [ -f "/home/wz/cron_test.txt" ];
    4. then
    5. num=$(($(wc -l /home/wz/cron_test.txt | cut -d ' ' -f 1)+1))
    6. else
    7. num=1
    8. fi
    9. echo "$(date +"%y-%m-%d %H:%M:%S") 执行到了第$num次" >> /home/wz/cron_test.txt

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

    1. [root@VM-12-12-centos wz]# cat cron_test.txt
    2. 23-11-18 22:05:04 执行到了第1
    3. 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表达式生成器 

  • 相关阅读:
    java计算机毕业设计校园环境保护监督系统源代码+系统+数据库+lw文档
    vueday02——使用NTableData
    python——单例模式
    React初体验-Hello React的组件化方式-React入门小案例
    centos7.9安装X2go
    LQ0041 特别数的和【进制】
    查询或解析solidity智能合约事件event或logs日志
    中国互联网综合实力100强:猿辅导第39
    Redis教程(二十二):Redis的过期删除和缓存淘汰策略
    【软考】9.5 排序算法原理
  • 原文地址:https://blog.csdn.net/weixin_51262054/article/details/134484692