首页 > 其他分享 >定时任务crond

定时任务crond

时间:2024-11-19 19:20:58浏览次数:1  
标签:11 log etc 任务 定时 root crond

【1】、什么是定时任务

1.什么是定时任务
闹钟/每天定时 7点半 8点
在固定的时间做什么事情。
2.定时任务作用
固定时间时间同步
数据备份(备份的服务器) 重要的数据保留3份 公司备份服务器 笔记本 移动硬盘/网盘一份
先打包然后再备份(代码文件 上百个 上千个) 占用磁盘io 降低传输速度 i input o output
日常工作需求
日志切割 防止日志太大
/var/log/nginx.log
mv /var/log/nginx /var/log/nginx-2024-11-18.log
监控取值+监控
定时执行脚本
辅助程序运行
.....

【2】、系统定时任务

五颗星: 星和星之间必须有空格
*  分	0 - 59   01或者写1表示1分钟  0表示整点
*  时    0 - 23   00或者写0 表示凌晨12点
*  日    1 - 31
*  月    1 - 12	 1-12月份,也可以使用英文表示月份  jan,feb,mar,apr ...
*  周	0 - 6    0或者7表示星期天 
特殊符号表示时间:
* 表示每的意思 如果是五颗星表示每分钟都要执行一次定时任务
/ 表示间隔的意思 */5 或 */05  表示间隔5分钟执行一次
- 表示区间  7-11 表示上午7点到上午的11点
, 表示间隔  7-11,13-15 上午7点到11点和下午的1点到3点执行


配置文件: /etc/crontab
语法结构: * * * * * root 可执行的命令;命令

案例1.每5分钟执行一个echo oldboy >> oldboy.txt   # 默认文件不写路径 则会在家目录生成/root/
*/5 * * * * root echo xu >> xu.txt 

案例2.每小时的第5分钟执行一次定时任务
05 * * * * root  cmd
# 注意05和*/5的区别
# 注意时间以整点来计算而不是当前时间 比如在当前03创建的定时任务 下次执行时间是05 1.05 1.10 1.15 1.20

案例3.每分钟执行一次定时任务
* * * * * root cmd

案例4. 上午的7-11点执行任务
* 7-11 * * *   # 表示7点的每分钟和8-11点的每分钟都会执行 7.01 7.02
00 7-11 * * *  # 表示7点 8点 9点 10点和11点执行一次

案例5.凌晨12点执行一个命令  笔试题
00 00 * * *  root cmd   # 表示凌晨12点

案例6.7-11,13-15 时间间隔使用
00 7-11,13-15 * * * root cmd

案例7.每分钟打包/etc/hosts /etc/passwd 名称为etc.tar.gz 放到/opt目录
* * * * * root tar zcvf /opt/etc.tar.gz /etc/hosts /etc/passwd

案例8.每分钟打包/etc/hosts /etc/passwd 名称为时间+etc.tar.gz放到/opt目录
# 注意定时任务不识别% 需要加\撬棍 或者将命令写入到脚本中,定时任务执行脚本
* * * * * root tar zcvf /opt/`date +\%F-\%H-\%M`etc.tar.gz /etc/hosts /etc/passwd
[root@kylin-xu opt]# ls
2024-11-18-12-37etc.tar.gz
[root@kylin-xu opt]# tar tf 2024-11-18-12-37etc.tar.gz 
etc/hosts
etc/passwd

# 写入脚本执行
[root@kylin-xu opt]# mkdir /server/scripts -p
[root@kylin-xu opt]# cd /server/scripts/
[root@kylin-xu scripts]# vim etc.sh
cd /etc/
tar zcvf /opt/`date +%F-%H-%M`etc.tar.gz hosts passwd
[root@kylin-xu scripts]# vim /etc/crontab
* * * * * root bash  /server/scripts/etc.sh


案例9.每间隔5分钟执行1次时间同步。
*/5 * * * * root ntpdate ntp2.aliyun.com

定时任务的日志文件 /var/log/cron 
# 如果定时任务执行不成功可以通过查看日志来发现问题

Ubuntu

cron日志文件
/var/log/syslog

【3】、用户定时任务

配置文件: 
/var/spool/cron/root  # root就是root用户做定时任务的配置文件  默认是没有的
配置用户定时任务有两种方法:
第一种方法: 有语法检查的功能
crontab -e 直接回车 就是编辑的/var/spool/cron/root  visudo -->/etc/sudoers

第二种方法: 直接vim编辑配置文件
vim /var/spool/cron/root

案例1.用户定时任务创建每分钟执行一个echo的动作
# 用户定时任务语法和系统定时任务语法 用户定时任务不需要加用户
[root@kylin-xu cron]# crontab -e
* * * * * echo test >> test.log  

查看用户定时任务方法1:
[root@kylin-xu cron]# cat /var/spool/cron/root 
* * * * * echo test >> test.log  
查看用户定时任务方法2:
[root@kylin-xu cron]# crontab -l -u root
* * * * * echo test >> test.log  

案例2.每5分钟执行一次时间同步
# 注意用户的定时任务默认识别的PATH变量只有/usr/bin和/bin路径 需要重新配置PATH变量
*/5 * * * *  ntpdate ntp2.aliyun.com
[root@kylin-xu cron]# crontab -l -u root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
* * * * * echo test >> test.log  
* * * * *  ntpdate ntp2.aliyun.com &>> /root/cron.log

注意:想要保留定时任务的结果定向到文件中
* * * * * ntpdate ntp2.aliyun.com &>>/root/cron.log
如果不想保留结果
* * * * * ntpdate ntp2.aliyun.com &>/dev/null


注意: 使用centos,如果关闭了邮件服务,每执行一次定时任务,会自动生成一个小文件,小文件会占用inode号码
[root@linuxn ~]# systemctl stop postfix
定时清理下面目录:
/var/spool/postfix/maildrop/
或者将定时任务执行的结果定向到文件或者空

标签:11,log,etc,任务,定时,root,crond
From: https://www.cnblogs.com/xuruizhao/p/18555437

相关文章

  • C++编程:通过多线程与协程优化阻塞型任务的调度性能
    文章目录0.引言1.多线程VS多线程+协程1.1示例1:使用传统的多线程进行矩阵乘法1.2.示例2:使用协程优化阻塞型任务3.分析与对比0.引言我们知道:多线程:适用于处理计算密集型任务或IO操作较少的场景,但会因为线程切换和创建销毁的开销而影响性能。协程:适用于处......
  • jenkins远程启动任务,不登录触发远程构建
    前提:之前写了一篇文章是如何远程触发的,但是如果用web请求必须要有登录信息,这次找了一个插件,可以不需要登录就远程触发1、首先去系统管理->管理插件里边,搜索并安装插件 BuildAuthorizationTokenRootPlugin,不会安装插件的先去搜一下,安装好后如下图: 2、打开当前登录用户设......
  • Asp.net Core Hosted Service(托管服务) Timer (定时任务)
    HostedService托管服务要继承IHostedService或继承BackgroundService》》》定义一个后台托管服务///<summary>///自定义后台任务类///</summary>publicclassMyHostedService:BackgroundService{///<summary>///执行任务///</summary......
  • 推荐一款提供web界面支持内网穿透的任务调度软件jiascheduler
    jiascheduler简体中文 · English一个用rust编写的开源高性能,可扩展,动态配置的任务调度器,支持同时推送用户脚本到数以万计的实例运行,并实时收集执行的结果。jiascheduler执行脚本的节点不需要都在同一个网络,其内部设计了一个精巧的网络穿透模型可以用一个控制台管理不同......
  • LangGraph 状态机:复杂 Agent 任务流程管理实战
    什么是LangGraph?LangGraph是一个专门为LLM应用设计的工作流编排框架。它的核心理念是:将复杂任务拆分为状态和转换管理状态之间的流转逻辑处理任务执行过程中的各种异常情况想象一下购物过程:浏览商品→加入购物车→结算→支付,LangGraph就是帮助我们管理这种流程......
  • Agent 任务编排系统:从设计到落地
    为什么需要任务编排?想象一下这个场景:用户要求Agent完成一篇市场调研报告。这个任务需要:收集市场数据分析竞争对手生成图表撰写报告这就是一个典型的需要任务编排的场景。核心架构设计1.任务分解策略使用LLM进行智能任务分解:fromtypingimportList,Dictimport......
  • 物料堆放检测视频分析服务器明火识别检测查看任务状态步骤
    在数字化转型的浪潮中,人工智能技术正以其独特的方式改变着各行各业,尤其是在视频监控领域,AI的应用正带来革命性的变化。随着计算机视觉技术的不断进步,我们能够通过智能分析系统对视频内容进行深度解析,从而实现对环境中的物体、行为和事件的自动检测和识别。这种技术的应用不仅提......
  • taskcafe–轻松管理任务的开源看板项目管理工具
    推荐一款采用看板进行任务管理的项目管理工具:taskcafe。GitHub上的taskcafe已经收获了4.2kStar,是一个正在持续开发的优秀开源项目管理工具。无论你是个人用户还是团队协作,都可以利用taskcafe提供的强大功能,通过看板视图轻松管理任务。功能亮点1、看板界面管理......
  • 鸿蒙开发Hvigor任务简介
    编译构建工具DevEcoHvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排、工程模型管理、配置管理等关键能力,提供专用于构建和测试应用的流程和可配置设置。DevEcoStudio使用构建工具Hvigor来自动执行和管理构建流程,实现应用/服务构......
  • PbootCMS 模板利用宝塔面板计划任务执行自动推送网址到百度
    新建PHP文件:在站点根目录新建一个PHP文件,例如 baidu.php,并复制以下代码:<?phpheader('Content-Type:text/html;charset=utf-8');/**只需修改这里面的两个链接**/$xml_url="https://你的站点/sitemap.xml";//这里修改你站点的XML地图链接$baidu_api='http......