第1个服务-定时任务

news/2025/3/12 17:22:50/文章来源:https://www.cnblogs.com/liaofy/p/18768065

第1个服务-定时任务

​ 使用服务的流程: 部署,配置,优化/注意事项,排障,其他(监控,备份,日志,统一认证)

​ 定时任务格式配置

​ 定时任务案例

​ 同步时间 备份

终极挑战: 通过脚本取出系统指标,通过邮件发送出去

​ 定时任务箴言

1.概述

  • 定时任务:用于执行在Linux中的重复性工作.eg:命令(同步系统时间),脚本(备2.份,系统巡检)
  • 定时任务:类似于闹钟.

2.服务使用流程

服务使用流程 说明
部署 安装这个服务或软件
配置 如何使用这个服务通过配置文件,通过命令. 初级使用:能用就行. 提高:额外配置.
优化或注意事项 安全.......
排障 难点,
🅰 通过错误提示解决.
🅱 学会看日志.
🆎高级:让服务输出错误提示或者输出更加详细的错误提示(通过重定向)
其他 1️⃣ 做好监控
2️⃣做好备份
3️⃣ 好日志收集
4️⃣ 统一认证

3.部署定时任务

  • 定时任务软件包名字: cronie , 服务名字(进程)crond
rpm -qa |grep 'cronie'
rpm -qa cronie
rpm -ql cronie
目录结构 说明
1️⃣ /var/spool/cron/ 用户 的定时任务的配置文件的目录
2️⃣ rontab 定时任务管理的命令
3️⃣ /var/log/cron 定时任务日志
了解下就行的配置文件
/etc/crontab 不推荐使用这个,系统定时任务的配置文件.
/etc/cron.hourly/ 系统 定时任务,每小时运行.
/etc/cron.daily/ 系统定时任务,每天运行
/etc/cron.weekly/ 系统定时任务,每周运行.
/etc/cron.monthly/ 系统定时任务,每个月运行.
  • 检查是否运行

image

4.完全使用指南

4.1.配置的命令

crontab用于对定时任务的规则进行增删改查.

crontab选项 说明
crontab -e edit编辑当前用户的定时任务 vi /var/spool/cron/root #root当前用户的名字
crontab -l list查看当前用户的定时任务 cat /var/spool/cron/root #root当前用户的名字

image

[root@myvps ~]# crontab -l
no crontab for root
用户未设置定时任务[root@myvps ~]# crontab -e
no crontab for root - using an empty one
用户未设置定时任务    给你新建空的crontab: installing new crontab更新了定时任务的配置.

4.2.定时任务书写格式-时间 ⭐⭐⭐⭐⭐

image

每天早上8:30分 去学校(go to school)
#1.test01
30 08 * * * go to school晚上12点上床睡觉(go to bed/sleep) dbj
#2.test02*  00 * * * go to bed #每天的半夜12点00-59 每分钟运行.
00 00 * * * go to bed #每天运行问题:
表示整点的时候,未说明分钟的时候,我们要指定的分钟,一般是00.

关于分钟位置上是否写*说明

  • 涉及到小时,天,周几的时候,分钟位置上记得写个数(00)
每周六半夜12点带cc去dbj
*  00 * * 06   dbj 每周的半夜12点00-59,每分钟都大保健1次 (分钟1次)
0-5900 00 * * 06   dbj 每周六的半夜12点去dbj

4.3.定时任务时间部分的特殊符号 ⭐⭐⭐⭐⭐

时间部分特殊符号 说明 案例
/ 每隔xxx时间 */2 * * * * 每两分钟
00 */2 * * * * 每两小时
- 表示范围 00 08-22 * * * 08-22点的每个小时运行
00 08-22/3 * * * 08-22点的每3小时运行
, 表示独立时间(没规律) 00 08,11,14,17,20 * * *
* 每,全部/所有(没说具体时间) 在分钟的位置上表示00-59,每分钟的意思
在小时位置上表00-23,每小时的意思.
每天的上午7点到晚上11点 每二个小时运行CMD命令
00 07-23/2 * * * CMD
07 09 11 13 15 17 19 21 23
定时任务每天23点到第2天的7点运行.
00 23,00-07 * * *

5.定时任务案例

  • 同步时间

  • 进行备份

  • 日常循环操作

  • 巡检+发送邮件

  • 时间+命令格式

5.1案例01: 每2分钟同步下系统的时间⭐⭐⭐⭐⭐

  • 使用了什么命令? ntpdate ntp1.aliyun.com

  • 书写定时任务配置文件:

#1. 同步时间 by lidao996 at 20221111
*/2 * * * * /sbin/ntpdate ntp1.aliyun.com >/dev/null  2>&1
  • 调试(测试,检查)
    • 修改下时间
date改下时间即可
  • 日志:这个定时任务是否运行

定时任务日志只能提示是否运行了,但是无法告诉我们是否运行成功.

tail -f /var/log/cronNov 11 11:12:01 oldboy-aliyun-servers CROND[16436]:
(root) CMD (/sbin/ntpdate ntp1.aliyun.com >/dev/null  2>&1)Aug  8 10:46:20 oldboy-aliyun-servers CROND[16449]:
(root) CMD (/sbin/ntpdate ntp1.aliyun.com >/dev/null  2>&1)
  • 查看定时任务的结果(时间是否修改,压缩包是否生成)

查看结果,时间是否他同步

5.2.案例02: 每天定时备份/etc/到/backup/下面 ⭐⭐⭐⭐⭐

备份时间:业务低谷期. 比如凌晨1点备份

✅ 命令: tar命令

✅ 脚本: 命令大礼包 .sh结尾 .bash结尾

✅ 定时任务配置:(每分钟运行)

✅ 调试完成改为要求的时间

  • 命令:
mkdir -p /backup/
tar zcf /backup/etc-`date +%F_%w`.tar.gz /etc/
  • 脚本
专用脚本目录:
mkdir -p /server/scripts/#书写脚本
cat backup-etc.sh
tar zcf /backup/etc-`date +%F_%w`.tar.gz /etc/#执行脚本
sh backup-etc.sh
  • 定时任务-时间每分钟或每2分钟(调试)
#2. 定时备份 /etc/ 目录 by lidao996 at xxxx  
* * * * * /bin/sh /server/scripts/backup-etc.sh >/dev/null  2>&1
  • 检查日志与结果

image

watch ls -l

image

  • 定时任务-调试完成后改为指定的时间运行
#2. 定时备份 /etc/ 目录 by lidao996 at xxxx
#00 01 * * * /bin/sh /server/scripts/backup-etc.sh >/dev/null 2>&1

5.3. 案例03: 脚本与变量(脚本深入)

  • 概述:在脚本中需要重复使用内容(时间,ip地址....),我们最好把这些内容存放到变量中,在脚本中重复使用即可.

  • 变量: 已知x=10,x+y=20,问y=? x或y叫做未知数 ,现在可以叫做变量.

  • 变量的内容可以变换.

  • 使用:

    • kui变量命令 ----> 书名字 ----> 葵花宝典
    • 向变量中赋值(写内容) ----> 写读后感 ----> 欲练此功必先自宫,如不自宫也能成功
    • 取值 ----> 读书 -----> 读取书本内容
#赋值 修改变量内容(创建)
kui="欲练此功必先自宫,如不自宫也能成功"#取值
echo $kui
欲练此功必先自宫,如不自宫也能成功

变量命名规则:

不能以数字开头

如果要用特殊符号,最好使用_

变量名字能够体现出变量作用.

  • 变量应用
#写入固定的内容
dir=/server/scripts/
file=backup-etc.sh#写入命令的结果(一般是命令的结果)
time=`date +%F_%w`
echo $time

image

image

创建以时间命名的文件oldboy-时间.txt
time=`date +%F_%w`
touch oldboy-$time.txt
  • 在脚本中使用变量
定义变量
time=`date +%F_%w_%H
引用变量-备份
tar zcf /backup/etc-$time.tar.gz /etc/
#find /backup -type f -name "*.tar.gz"   -mtime +30 |xargs rm -f 

image

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第 3 课 - nRF Connect SDK 应用程序的元素 - 配置文件

根据开发者学院的描述,本节课程主要是了解NCS应用程序的结构,了解它们彼此之间的关系以及他们之间如何相互作用。 其中一些概念性的内容需要看官方的描述,我这里只对主要内容做一些总结。最小应用程序文件结构 app/ |-- CMakeLists.txt |-- Kconfig |-- prj.conf |-- <bo…

牛客题解 | 计算矩阵的特征值

牛客题库题解题目 题目链接 矩阵的特征值是指矩阵在某个方向上的拉伸倍数,数学表达式为: \[A \times v = \lambda \times v \]其中,\(A\) 为原矩阵,\(v\) 为特征向量,\(\lambda\) 为特征值。 在数学上,通常求解特征方程来求解特征值: \[det(A - \lambda I) = 0 \]但是,…

光伏龙头出海记:正泰新能易路如何用数字化HR破解全球化用工合规困局

2025开年,全球光伏领域组件供应商龙头企业——正泰新能科技股份有限公司(以下简称“正泰新能”)与易路人力资源科技(以下简称“易路”)合作携手,通过高效、智能、合规的HR数字化解决方案,拓展土耳其乃至全球的光伏市场,促进全球能源转型下的行业发展与技术创新。2025开…

Qt/C++音视频开发82-系统音量值获取和设置/音量大小/静音

一、前言 在音视频开发中,音量的控制分两块,一个是控制播放器本身的音量,绝大部分场景都是需要控制这个,这个不会影响系统音量的设置。还有一种场景是需要控制系统的音量,因为播放器本身的音量是在系统音量的基础上控制的,也就是系统音量30%,意味着播放器最大的音量也是…

信息资源管理综合题之“四个的组织层次”

一、一个组织的运行一般包含战略层、管理层、知识层和操作层四个不同层次的内容,按照信息支持的不同层次,组织中信息系统可以分为六种不同类型,请将下表中序号(1)~(12)所对应的每种系统的中文名称及其对应的典型功能填写在答题卡相应位置处二、答案经理支持系统 长期销售…

如何在 Windows 上实现免密登录 Linux 服务器?

一、环境准备本地系统:Windows 10/11(需启用 OpenSSH 客户端)远程服务器:任意 Linux 发行版(需开启 SSH 服务)工具:系统自带 PowerShell 或 Git Bash(推荐)二、操作步骤 步骤 1:在 Windows 上生成 SSH 密钥对打开 PowerShell 或 Git Bash按 Win + S 搜索 "Power…

Cartesia 升级 TTS 模型,可在音频中无缝填充内容;索尼 AI 游戏角色原型:结合语音与动画,与玩家实时对话丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

NocoBase vs OutSystems:低代码平台,开源还是闭源?

开源 vs. 闭源,哪个低代码平台更适合你?NocoBase vs OutSystems 全面对比,揭示核心功能、成本和扩展性,帮你做出最佳选择!原文链接:https://www.nocobase.com/cn/blog/nocobase-vs-outsystems 引言 我在之前已经写过几篇产品深度对比文章,欢迎感兴趣的朋友前往阅读。Noc…

英格索兰/鑫磊/阿特拉斯空压机数据采集联网远程监控方案温湿度露点

RS132ie-A7.5(英格索兰)RS132ie-A7.5(英格素兰)XLPM175A-IID(鑫磊)GA132-8.5(阿特拉斯)GA132-8.5(阳牛)RS132ie-A7.5(英格索兰)XPM175A-IID(鑫磊)RS132ie-A7.5(英格索兰XLPHI7SA IID (套名)RS1321e-A7.5(英格系兰)XPU175A IID美号RS132ie-A7.5(大格索)RS1321e-A7.5(英格索二RS1…

SpringSecurity5(2-自定义用户信息)

Spring Security允许自定义用户信息以满足特定的认证需求。通过实现UserDetailsService接口,可以从数据库或其他存储源加载用户信息。自定义UserDetails类,提供用户名、密码、权限等信息,并结合Spring Security的AuthenticationManager进行身份验证。这样可以灵活地实现复杂…

No.60 Vue---事件处理

一、事件处理 1.1 监听事件(添加事件)我们可以使用 v-on 指令 (通常缩写为 @ 符号)来监听 DOM 事件,并在触发事件时执行一些JavaScript。用法为v-on:click="methodName”或使用快捷方式 @click="methodName”.<template><div><button v-on:click=&…

基于TPM的远程认证之一(TCG文档-验证篇)

PCR值验证 在PCR值足够静态或者验证者有证明者的PCR标准值的情况下,可以使用PCR值验证的方式验证平台的可信度。在PCR复合验证中,这种方法要求验证者拥有一个固定的断言PCR复合值列表,这样证明者就只发送报价(带有PCR值的哈希值),而不必发送完整的PCR值或事件日志。或者,…