Ubuntu 22.04 Cron使用

需要定时处理的场景还是比较多的,比如信息推送、日志清理等。

这篇文章我们来说说如何使用cron来实现定时处理,以及监控任务的执行

使用

Ubuntu中使用cron,要用到的命令是crontab。不加sudo时,处理的是个人的定时任务。当加上sudo时,处理的则是系统级别的定时任务。下面介绍一些常用的参数。

查看cron作业,

crontab -l

编辑crontab文件,

crontab -e

当执行这个命令时,会看到建议使用的的编辑器列表

对于我来说使用vim够用了。

然后是编辑cron作业,crontab文件中一行代表一个作业,作业的格式如下

* * * * * command_to_be_executed

其中

  • 星号代表时间字段,从左至右分别是分钟、小时、日期、月份、星期几。
  • 星号也可以替换为数字、星号(表示任意值)、逗号(表示多个值)和连字符(表示范围)。 

监控

当我们设置了定时任务,肯定要监控任务的执行状态。这个时候有比较多的选择。

不依赖外部组件的话,我们可以将定时任务执行的日志保存到指定的日志文件中,即使用如下的方式定义定时任务

0 3 * * * /path/to/myscript.sh >> /path/to/mylog.log 2>&1

也可以直接使用系统日志,不进行配置,查看系统日志的命令如下

cat /var/log/syslog | grep CRON

如果想用外部组件,则可以考虑使用Prometheus、Grafana等监控工具。

实例

比如我们需要每周五下午五点拉取阮一峰大佬的周刊文件,可以首先编写一个脚本,假定叫pull_weekly.sh

sudo vi pull_weekly.sh

写入内容

#!/bin/bash

repo_dir="/usr/local/download/ruanyf"

if [ -d "$repo_dir/.git" ]; then
    # 如果目录存在且是一个Git仓库,则执行git pull
    cd "$repo_dir"
    git pull
else
    # 否则,执行git clone
    git clone https://github.com/ruanyf/weekly "$repo_dir"
fi

然后我们建立文件夹,并修改目录拥有者。注意我的当前目录是/usr/local/download

sudo mkdir ruanyf
sudo chown cy:cy /usr/local/download/ruanyf/

赋予脚本执行权限

sudo chmod +x pull_weekly.sh

注意先执行一下验证执行是否OK。

添加定时任务

crontab -e

添加一行内容

0 17 * * 5 /usr/local/download/pull_weekly.sh

然后定时任务将会按时执行

小结

在这篇内容中,我们学习了cron命令的使用。常用的定时任务都可以用它来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/321511.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytorch集智4-情绪分类器

1 目标 从中文文本中识别出句子里的情绪。和上一章节单车预测回归问题相比,这个问题是分类问题,不是回归问题 2 神经网络分类器 2.1 如何用神经网络分类 第二章节用torch.nn.Sequantial做的回归预测器,输出神经元只有一个。分类器和其区别…

计算机网络期末复习(基础概念+三套卷子练习)

第一章:计算机网络概念 计算机网络的概念 计算机网络的定义 计算机网络是指将地理位置不同的 具有独立功能的多台计算机 及其外部设备,通过 通信线路链接 起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下&#…

【生存技能】git操作

先下载git https://git-scm.com/downloads 我这里是win64,下载了相应的直接安装版本 64-bit Git for Windows Setup 打开git bash 设置用户名和邮箱 查看设置的配置信息 获取本地仓库 在git bash或powershell执行git init,初始化当前目录成为git仓库…

精品量化公式——“区域突破”,应对当下行情较好的主图看盘策略

不多说,直接上效果如图: ► 日线表现 代码评估 技术指标代码评估: VAR1, VAR2, VAR3:这些变量是通过指数移动平均(EMA)计算得出的。EMA是一种常用的技术分析工具,用于平滑价格数据并减少市场“…

Ubuntu共享文件到win

Ubuntu共享文件到win 1、安装samba sudo apt-get install samba samba-common2、创建一个共享文件夹,并设置777权限 mkdir /home/qyh/share sudo chmod 777 /home/qyh/share我的用户名:qyh。 3、添加用户及密码 sudo smbpasswd -a qyh4、修改配置文…

操作系统复习篇

目录 一、引论 1.1、操作系统的目标 方便性: 有效性: 可扩充性: 开放性: 1.2、操作系统的作用 用户与计算机硬件系统之间的接口: 计算机系统资源的管理者: 实现对计算机资源的抽象: 1…

SqlAlchemy使用教程(二) 入门示例及编程步骤

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解 二、入门示例与基本编程步骤 在第一章中提到,Sqlalchemy提供了两套方法来访问数据库,由于Sqlalchemy 官方文档结构有些乱,对于ORM的使用步骤的描…

使用scipy处理图片——旋转任意角度

大纲 载入图片左旋转30度,且重新调整图片大小右旋转30度,且重新调整图片大小左旋转135度,保持图片大小不变右旋转135度,保持图片大小不变 在《使用numpy处理图片——90度旋转》中,我们使用numpy提供的方法,…

庆祝一年的成长

本文字数:2288;估计阅读时间:6 分钟 作者:ClickHouse Team 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 随着今年即将结束,我们想要向您表达衷心的感谢,感谢您…

实现STM32烧写程序-(3) Hex文件结构

简介 要对STM32进行更新动作, 就需要对程序文件进行解析, 大部分编译的生成程序文件是Hex或者Bin, 先来看看Hex的结构吧。 资料 Hex文件 简介 Hex文件格式最早由Intel公司于1973年创建。它最初是为了在Intel 8080微处理器上存储和传输二进制数据而设计的。随后,Hex…

XCTF:Hidden-Message[WriteUP]

使用Wireshark打开文件 分析能分析的流,这里直接选择UDP流 分别有两段流,内容都是关于物理的 和flag没啥关系,只能从别的方面下手 分析:整个数据包,全部由UDP协议组成 其中发送IP和接收IP固定不变,数据长…

Leetcode3002. 移除后集合的最多元素数

Every day a Leetcode 题目来源:3002. 移除后集合的最多元素数 解法1:贪心 可以将数组去重后分为三个部分:nums1 独有的,nums2 独有的,nums1 与 nums2 共有的。 求集合 S 时: 先选择两个数组独有的。…

【软件测试】学习笔记-性能测试的基本方法与应用领域

这篇文章探讨并发用户数、响应时间和系统吞吐量这三个指标之间的关系和约束,性能测试七种常用方法,以及四大应用领域。 由于性能测试是一个很宽泛的话题,所以不同的人对性能测试的看法也不完全一样,同样一种方法可能也会有不同的…

第十五届蓝桥杯单片机组备赛——独立键盘矩阵键盘

文章目录 一、按键原理二、独立键盘&矩阵键盘2.1 独立按键2.2 矩阵键盘 一、按键原理 原理很简单,当我们没有按下SW2时,由于上拉电阻得作用,使得输入引脚得信号为高电平,当按下按键后,引脚直接接地,输入…

MySQL面试题 | 08.精选MySQL面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

List集合遍历过程中修改元素(有坑)

说来惭愧,学 java 2年了,对 “Java是值传递” 这句话还没有理解它的精髓,以至于编程的时候出现了一些错误,这里记录一下。 一.问题再现 1.1将List集合中的每个字符串更改为其他值 1.2将List集合中的对象更改为其他对象 二.问题分…

【DolphinScheduler】datax读取hive分区表时,空分区、分区无数据任务报错问题解决

问题背景: 最近在使用海豚调度DolphinScheduler的Datax组件时,遇到这么一个问题:之前给客户使用海豚做的离线数仓的分层搭建,一直都运行好好的,过了个元旦,这几天突然在数仓做任务时报错,具体报…

【Rust日报】2024-01-12 将 Rust 引入 Git 项目

将 Rust 引入 Git 项目 去年年底的假期里,Taylor Blau 花了一些时间思考如何将 Rust 引入 Git 项目。 将 Rust 引入 Linux 内核的重要工作正在进行中。在他们既定的目标中,他认为有一些可能与 Git 项目相关: 由于语言的安全保证,内…

Jenkins+nexus

jiekins安装完成 1、安装java环境 [rootnexus ~]# tar -xf jdk-8u211-linux-x64.tar.gz -C /usr/local [rootnexus ~]# vim /etc/profile.d/java.sh JAVA_HOME/usr/local/jdk1.8.0_211 PATH$PATH:$JAVA_HOME/bin [rootnexus ~]# source /etc/profile.d/java.sh 必须要选择与n…

UE5 伤害数字跳出

学习视频 大体思路: 1.创建一个控件蓝图。 播放动画,K透明度,文本位置。 2.创建一个控件组件。 类默认值中设置。 3.在位置处创建组件实例 自定义事件略。