Linux之定时任务①(实施必会!!!)

news2025/2/25 15:51:09

文章目录

  • 常见脚本
  • 一、 什么是crond
  • 二、crond的使用场景
  • 一、apache服务器监控
  • 三、crond服务
  • 四、命令格式
  • 五、cron格式
  • 六、定时任务备份
  • 七、数据库定时备份
  • 八、使用shell脚本发送邮件

常见脚本

[root@localhost ~]# vim apacheSentry.sh

#!/bin/bash
# author: tt
# description: sendtry apache http server

# 用于判断httpd是否启动
port=$(nmap -sT 192.168.114.135 | grep tcp | grep http | awk '{print $2'})

if [ "$port" == "open" ]
        then
                echo "$(date) httpd is running" >> /tmp/httpd-sendtry-acc.log
        else
                /etc/rc.d/init.d/httpd restart &> /dev/null
                echo "$(date) httpd reboot!!" >> /tmp/httpd-sendtry-err.log
fi

”>“和“2>” 这两个的结合体就是 ”&>"

一、 什么是crond

Linux中crond就是定时任务,即根据crond指定的时间,由系统按指定的时间,周期性,自动触发的事
件。
crond服务在默认的情况下会每分钟检查系统中是否有定时任务,如果有且符合触发条件,则执行该定
时任务。

二、crond的使用场景

一、apache服务器监控

  • 服务器中重要数据的定时备份,如数据库中的数据
  • 服务器中重要的工作进程,需要监控其运行状态,如果异常退出,则需要重启
  • 重要设备的运行状态,如磁盘使用,若空间不够则系统扩容

三、crond服务

安装crontab:
yum install crontabs
服务操作说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //启动服务
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on

四、命令格式

注意区分crond和crontab之间的区别
crond是系统定时任务的守护进程,crontab是用户用来设置定时任务规则的命令。
我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命
  • /etc/crontab 这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly
    目录中,让它每小时/天/星期、月执行一次。
    命令格式:
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作作)

五、cron格式

在这里插入图片描述
在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每
月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可
以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。
示例:

# 查询系统中的定时任务
[root@localhost ~]# crontab -l
* * * * * echo "hello command cron !!!" >> /var/log/cronlog.log
[root@localhost ~]#
# 删除定时任务
[root@localhost ~]# crontab -l
* * * * * echo "hello command cron !!!" >> /var/log/cronlog.log
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab -l
no crontab for root
# 常见定时任何
[root@localhost ~]# crontab -e
no crontab for root - using an empty one
* * * * * echo "hello word" >> /var/log/cronlog.log
~
  • 上例中直接使用echo命令来指定定时任务,在生产环境中一般不建议这样做,而是将
  • 定时任务需要完成的工作事先编写成shell脚本,然后在定时任务中调用shell脚本的
  • 方式来定义定时任务,大家可以自行编写一个脚本进行测试。

六、定时任务备份

定时任务对服务器的日常运行很重要,需要及时备份
$ crontab -l > $HOME/mycron

七、数据库定时备份

[root@localhost sh]# vim dbbak.sh

#!/bin/bash
# author: aq
# description: 用于定时备份数据库

BAK_DIR=/data/db-backup/$(date +%Y%m%d)
DB_NAME="webserver"
DB_USER="root"
DB_PWD="123456"
MYSQL_DUMP_CMD=/usr/bin/mysqldump

if [ $UID -ne 0 ];then
        echo "请使用root用户执行";
        exit;
fi

if [ ! -d $BAK_DIR ];then
        mkdir -p $BAK_DIR
        echo -e "$BAK_DIR 创建成功"
else
        echo -e "$BAK_DIR  目录已存在"
fi

$MYSQL_DUMP_CMD -u$DB_USER -p$DB_PWD $DB_NAME > $BAK_DIR/$DB_NAME.sql

if [ $? -eq 0 ];then
        echo -e "数据库备份成功"
else
        echo -e  "数据库备份失败,请检查备份脚本"
fi

exit

八、使用shell脚本发送邮件

该例使用sendmail发送邮件,如果没有安装,可以使用如下命令先安装

yum install sendmail
  • 脚本如下:
#!/bin/bash
# author aq
email_header="Subject: 系统信息\nTo: lisensir@163.com"
email="$email_header\ntomcat服务器正常运行,日期:$(date '+%Y-%m-%d %H:%M:%S')"
echo -e  "$email" | sendmail -t
  • 注意: -e参数不能丢,否则不会讲\n解析为换行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP 电话

1 IP 电话概述 IP 电话是在互联网上传送多媒体信息。 多个英文同义词: VoIP (Voice over IP) Internet Telephony VON (Voice On the Net) 1.1 狭义的和广义的 IP 电话 狭义的 IP 电话:指在 IP 网络上打电话。 广义的 IP 电话:不仅仅是…

NoSQL数据库介绍

目录 一、发展历史 二、什么是NoSQL? 三、为什么使用NoSQL? 四、NoSQL vs. RDBMS 五、NoSQL的四种类型 键值存储 文档存储 列式存储 图形存储 六、NoSQL的优缺点 七、NoSQL的特点 灵活的可扩展性 灵活的数据模型 与云计算紧密融合 大数据量…

算法为什么难=》领悟学习方法论

原文参考:为什么算法这么难???_过程_逻辑_时候 广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用——除了面试的时候。实际工程中一般都是用现成的模块&…

基于uniapp大学生社团活动管理系统python+java+node.js+php微信小程序

uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 语言:pythonjavanode.jsphp均支持 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 运行软件:idea/eclipse/vscod…

Flutter Version Manager (FVM): Flutter的版本管理终极指南

Flutter笔记 Flutter Version Manager (FVM) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/136300307 my-websit…

数据湖delta lake

Table of Content1. 课程2. 前置技能3. 一、数据湖概念[了解] 3.1. 1.1 企业的数据困扰 3.1.1. 困扰一:互联网的兴起和数据孤岛3.1.2. 困扰二:非结构化数据3.1.3. 困扰三:保留原始数据3.1.4. 补充:什么是结构化? 3.1.4…

React_使用es5和es6语法渲染和添加class

React入门 //react的核心库 <script src"https://cdn.jsdelivr.net/npm/react17/umd/react.development.js"></script> //react操作dom的核心库&#xff0c;类似于jquery <script src"https://cdn.jsdelivr.net/npm/react-dom17/umd/react-dom.…

大型电商日志离线分析系统(一)

一、项目需求分析 某大型网站日志离线分析系统 1.1 概述 该部分的主要目标就是描述本次项目最终七个分析模块的页面展示。 1.2 工作流 在我们的demo展示中&#xff0c;我们使用jqueryecharts的方式调用程序后台提供的rest api接口&#xff0c;获取json数据&#xff0c;然后…

探索2024年3月5-7日第12届国际生物发酵展-聚力微特电机

参展企业介绍 威海聚力微特电机股份有限公司成立于2004年5月&#xff0c;位于山东省威海市。是一家专业研发、生产和销售电机、液压站、机床冷却泵和电动板手的企业。主要产品有异步感应变频调速电机、永磁同步调速电机、油泵电机、铣头电机、高速电主轴、伺服力矩电机、节能型…

WPF 【十月的寒流】学习笔记(2):MVVM中是怎么实现通知的

文章目录 前言相关链接代码仓库项目配置代码初始代码ViewPersonViewModel 尝试老办法通知解决方案ObservableCollectionBindingListICollectionView 总结 前言 我们这次详细了解一下列表通知的底层是怎么实现的 相关链接 十月的寒流 MVVM实战技巧之&#xff1a;可被观测的集合…

Unity发布webgl获取浏览器的URL

Unity发布webgl获取浏览器的URL Unity发布webgl之后获取浏览器的url 在unity中创建文件夹Plugins&#xff0c;然后添加添加文件UnityGetBrowserURL.jslib var GetUrlFunc {//获取地址栏的URLStringReturnValueFunction: function () {var returnStr window.top.location.hre…

2024.2.25 模拟实现 RabbitMQ —— 网络通信设计(服务器)

目录 引言 约定应用层的通信协议 自定义应用层协议 Type Length PayLod 实现 Broker Server 类 属性 与 构造 启动 Broker Server 停止 Broker Server 处理客户端连接 读取请求 与 写回响应 根据请求计算响应 清除 channel 引言 生产者 和 消费者 都是客户端&…

STC-ISP原厂代码研究之 V3.7d汇编版本

最近在研究STC的ISP程序&#xff0c;用来做一个上位机烧录软件&#xff0c;逆向了上位机软件&#xff0c;有些地方始终没看明白&#xff0c;因此尝试读取它的ISP代码&#xff0c;但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中&#xff0c;而这存…

硬盘无法格式化?正确格式化方法看这!(新版)

“我的电脑用了很久了&#xff0c;我想将它格式化&#xff0c;但是在操作时却提示硬盘无法格式化。这该怎么解决呢&#xff1f;应该怎么进行正确的格式化操作呢&#xff1f;” 在使用电脑时&#xff0c;有时候我们或许会因为各种原因想对硬盘进行格式化操作。但是在实际操作中&…

【非比较排序】计算排序算法

目录 CountSort计数排序 整体思想 图解分析 代码实现 时间复杂度&优缺分析 CountSort计数排序 计数排序是一种非比较排序&#xff0c;不需要像前面的排序一样去比较。 计数排序的特性总结&#xff1a; 1. 计数排序在数据范围集中时&#xff0c;效率很高&#xff0c;但…

Oracle内存计算应用模式

前言 内存计算是利用内存来加速数据访问和应用的性能&#xff0c;并降低应用开发复杂度的技术。近十年来&#xff0c;随着软硬件技术的发展和用户需求的成熟&#xff0c;内存计算技术已经得到了广泛地应用。 Oracle在内存计算领域具有非常重要的地位&#xff0c;这主要得益于…

leetcode移动零

leetcode移动零 Given an integer array nums, move all 0’s to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array. Example 1: Input: nums [0,1,0,3,12] Output…

北斗卫星赋能,宠物定位新篇章—追踪宠物,不再是难题

北斗卫星赋能&#xff0c;宠物定位新篇章—追踪宠物&#xff0c;不再是难题 随着社会的快速发展与科技的不断进步&#xff0c;人们的生活方式也在不断改变。宠物已经成为越来越多家庭的重要成员&#xff0c;在这个宠爱宠物的时代&#xff0c;如何确保宠物的安全&#xff0c;特…

ChatGPT学习第三周

&#x1f4d6; 学习目标 ChatGPT在各行各业的应用 探索ChatGPT在不同领域&#xff08;如教育、客户服务等&#xff09;的实际应用案例。 ChatGPT的局限性和挑战 讨论ChatGPT面临的挑战&#xff0c;包括偏见、误解及其限制。 ✍️ 学习活动 学习资料 《人工智能通用大模型(…

【ArcGIS】基本概念-空间参考与变换

ArcGIS基本概念-空间参考与变换 1 空间参考与地图投影1.1 空间参考1.2 大地坐标系&#xff08;地理坐标系&#xff09;1.3 投影坐标系总结 2 投影变换预处理2.1 定义投影2.2 转换自定义地理&#xff08;坐标&#xff09;变换2.3 转换坐标记法 3 投影变换3.1 矢量数据的投影变换…