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

文章目录

  • 常见脚本
  • 一、 什么是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解析为换行

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

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

相关文章

DAY34--learning English

一、积累 1.listless 2.sanction 3.inflict 4.stung 5.droplet 6.rot 7.soil 8.welfare 9.flock 10.mitigate 11.incubation 12.feces 13.urine 14.odor 15.sprinkle 16.guresome 17.slaughter 18.antibiotic 19.certify 20.tray 二、练习 1.牛津原译 Listless adj. /ˈlɪst…

【毛毛讲书】【老而不衰的科学】长寿的秘诀究竟是什么?

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容&#xff…

用GGUF和Llama .cpp量化Llama模型

用GGUF和Llama .cpp量化Llama模型 什么是GGML如何用GGML量化llm使用GGML进行量化NF4 vs. GGML vs. GPTQ结论 由于大型语言模型(LLMS)的庞大规模,量化已成为有效运行它们的必要技术。通过降低其权重的精度,您可以节省内存并加快推理…

IP 电话

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

二 线性代数-向量

1、向量的表示方法: 其中的 i、j、k是坐标轴方向的单位向量。 2、向量的模: 用坐标计算的方法: 3、向量的运算: 3.1 向量的加法减法: 3.2 向量的数乘: 拉格朗日乘数法的 基础 公式。 3.3 向量的数量积&a…

分布式ID生成方案详解

✨✨ 祝屏幕前的您天天开心 ,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一. UUID(Universally …

mysql的增删改查(常用)

增(insert) 语法: insert into 表名(字段) values( 字段对应的值) 案例: 创建一个学生表 结构如下: create table student(id int ,name varchar(20),age int); 向表中插入2条数据 create table student(id int ,n…

设计模式-结构型模式-组合模式

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“部分—整体”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,又可以称…

24考研成绩查询时间已公布!附最全查分攻略!

2月26日早上9点起! 2024考研初试成绩即将公布! 考研初试成绩即将公布,同学们都在紧张地期待着自己的成绩。不同院校的成绩查询入口开通时间有所不同,具体时间请大家查看各自官网的通知。 成绩在哪查?怎么查&#xff1…

亚马逊巨头都在用的自养号大法,赶快get!

随着时间的推移,越来越多做亚马逊生意的朋友开始意识到自养号的重要性。拥有自养号意味着掌握了一手资源,这种自主性让人感到更安全。高权重的买家号可以享有更多的操作权限,也能获得更好的效果。然而,要想成功地养好自养号并不是…

面试经典150题【31-40】

文章目录 面试经典150题【31-40】76.最小覆盖字串36.有效的数独54.螺旋矩阵48.旋转图像73.矩阵置零289.生命游戏383.赎金信205.同构字符串290.单词规律242.有效的字母异位词 面试经典150题【31-40】 76.最小覆盖字串 基本思路很简单,就是先移动右边到合适位置。再移…

Java SpringBoot 获取 yml properties 自定义配置信息

Java SpringBoot 获取 yml properties 自定义配置信息 application.yml server:port: 9090servlet:context-path: /app第一种方法 HelloController package com.zhong.demo01.controller;import org.springframework.beans.factory.annotation.Value; import org.springfram…

SAP中分包后续调整应用实例二(调减)

之前己写过一篇介绍过分包后续调整功能MB04的基本应用。当时的场景是某个原材料由于各方面原因(比如没有维护到BOM中),在委外加工模式成品收货后,并没有消耗或少消耗,这时可以用该事务功能来补充消耗。在生产报工中的M…

集团机构组网

在数字化转型的浪潮中,企业网络需求日益复杂化,尤其是对于大规模的集团机构来说,高效、安全且可靠的网络连接成为了业务发展的关键。传统网络架构已难以满足这些需求,而SD-WAN(软件定义广域网)技术的崛起&a…

【总第49篇】2.3深度学习开发任务实例(2)机器学习和深度学习的对比【大厂AI课学习笔记】

机器学习和深度学习都是用于图片分类任务的强大工具,但它们采用的方法和原理有所不同。下面我将分别解释这两种技术是如何应用于图片分类的,并着重讨论深度学习中的卷积概念。 机器学习在图片分类中的应用 传统的机器学习方法在进行图片分类时&#xf…

干洗行业上门预约解决方案,干洗店洗鞋店小程序开发;

互联网干洗店洗鞋店小程序,企业干洗方案,干洗行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发; 一、干洗店洗鞋店小程序核心功能介绍: 1.(支持上门取送、送货到店、寄存网点、智能衣柜四种下单方式) 用户下单-上门取…

大数据职业技术培训包含哪些

技能提升认证考试,旨在通过优化整合涵盖学历教育、职业资格、技术水平和高新技术培训等各种教育培训资源,通过大数据行业政府引导,推进教育培训的社会化,开辟教育培训新途径,围绕大数据技术人才创新能力建设&#xff0…

赛劲SEJINIGB减速机丨非标摆线减速机定制化解决方案

减速机是机械设备传动系统的核心部件,是一种能够改变转速和输出力矩的机械必备装置,在现代化工业生产中,减速机已经成为不可或缺的重要设备之一。 赛劲SEJINIGB公司自1993年成立以来,一直致力于研发、生产和销售各类高精密减速机…

将本地项目上传到svn服务端和git

一、SVN 1.创建svn库,下面生成了三个文件夹,branches指分支,trunk下可以放项目 2.在本地checkout,填入svn库的地址,因为是新建的,所以checkout的是空文件夹 把自己的项目复制到trunk下,在项目上 右键-TortoiseSVN-add add完之后 右键-svn commit 3.idea打开这个项目,将项目跟…

合并spark structured streaming处理流式数据产生的小文件

备注: By 远方时光原创,可转载,不能复制到其他平台 背景:做流批一体,湖仓一体的大数据架构,常见的做法就是 数据源->spark Streaming->ODS(数据湖)->spark streaming->…