Linux11:任务计划,日志管理

2022/1/8 7:04:49

本文主要是介绍Linux11:任务计划,日志管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

      • 一.企业中:软件包管理
      • 二.任务计划
        • 1.一次性调度执行——at
        • 2.循环调度执行——cron
      • 三.日志管理
        • rsyslogd配置文件
        • rules规则
      • 四.日志轮转logrotate

Linux11任务计划,日志管理

一.企业中:软件包管理

1.清理原有的YUM配置——国外下载源,速度慢

把原来/etc/yum.repos.d/的内容都丢到/tmp(mv移动)


这里可能有一个小问题,需要先检测一下有没有wget 命令,没有的话要用原有的yum配置先下载wget:#yum -y install wget,因为后面下载阿里的包会用到wget命令。


2.下载阿里官网配置

进入阿里的镜像网站https://developer.aliyun.com/mirror/

找到centos-7对应的基本配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

再下载一个epel扩展配置文件——Extra Packages for Enterprise Linux企业版linux扩展包

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

请添加图片描述

3.更新YUM仓库

#yum makecache

请添加图片描述

4.执行安装

举例httpd网页软件

  • 安装#yum -y install httpd
  • 启动服务#systemctl start httpd
  • 关闭防火墙#systemctl stop firewalld
  • 进入浏览器访问本地网站127.0.0.1

二.任务计划

1.一次性调度执行——at

#at 时间

eg.

请添加图片描述

at执行后可以设置多条命令,ctrl+d退出

2.循环调度执行——cron

  • cron和crontab不可分割

  • 执行前提是cron这个程序已经在运行了

    如何检查crond这个服务运行情况

    #ps aux | grep crond或者#systemctl status crond.service


创建计划

#crontab -e

编写内容

分 时 日 月 + 命令

0-59 0-23 1-31 1-12 0-6(0或7都表示周日)

eg.

每个小时的第五分钟——5 * * * *

每年三月十五日一点五分——5 1 15 3 *

每年每月十五日一点五分——5 1 15 * *

每年每月每天一点五分——5 1 * * *

(*表示每)

每五分钟执行一次—— */5 * * * *

每个月1号4号6号的两点0分执行——0 2 1,4,6 * *

每个月5号到9号的两点0分执行——0 2 5-9 * *

每一分钟都在执行——* * * * *

每个小时的0分执行(整点执行)——* * * * *

每两周执行一次 ——* * * * */2

每月周五两点第0分钟执行—— 0 2 * * 5


特殊: 0 2 2 6 5

六月二号两点0分 周五——这个会执行两个条件的并集,也就是六月二号两点整和六月的每个周五都会执行

特殊:0 2 14 * 7

每个月14号两点整要执行,每个月星期天也要执行

:x保存退出后#crontab -l 可以查看

三.日志管理

一般存放在/var/log/…

1.日志管路进程rsyslog——产生日志进程

什么程序-做了什么事-记录到什么位置

如果没有这个进程要安装#yum install -y rsyslog

然后再启动 #systemctl start rsyslog

其配置文件是rsyslogd

2.系统日志文件/var/log/里面的文件基本后缀都为.log

  • 系统主日志文件/var/log/message

    记录大多数系统的操作一般查看最后几行——# tail -10 或-20 /var/log/message

请添加图片描述

时间——主机名——做了什么操作


补充:

#tail -f /var/log/messages 这个-f会锁定日志窗口

此时再开一个终端执行命令,就可以实时看到日志文件的变化


  • tail /var/log/secure ——认证安全的日志
  • tail /var/log/yum.log ——yum相关的日志

rsyslogd配置文件

如果配置文件有问题可以重装#yum install rsyslog

启动服务#systmctl start rsyslog.service

相关配置文件#rpm -qc rsyslog

(查询软件包的安装情况,-q表示查询-c表示配置文件)

请添加图片描述

其中较为重要的是主配置文件/etc/rsyslog.conf

进入该配置文件可以看到46行的rules规则——主要用于说明什么程序的什么日志放在什么地方

rules规则

组成:设备.级别+存放位置

请添加图片描述

举例60行

60 mail. -/var/log/maillog*

这里点的左边(mail)是设备类型名,点的右边(*)是级别————日志文件存放位置

(这里路径前面带短横线-,表示异步方式记录)

设备类型名

syslog:syslogd自身产生的日志

authpriv:安全认证

cron:调度程序(cron and at)

mail:邮件系统

user:用户相关的

daemon:后台进程(守护进程)

ftp:文件服务器

kern:内核设备

lpr:打印设备

local0-7:自定义设备

级别

以下是从低到高一共8级

  • debug:调试信息

  • info:标准信息

  • notice

  • warnning

  • err

  • crit

  • alert

  • emerg:紧急


信息级别越高,信息量越少,在级别处填了一个*表示不指定信息级别,无论什么级别的日志信息都记录下来放到指定位置

请添加图片描述

特别:当级别的位置写了none表示排除

此处54行,*.info表示收集所有信息,后面三个为排除项,意思是收集所有信息除了mail,authpriv,cron这三个(一般在下面就会单独写出这三种设备的日志收集规则)

工作经验:

配置文件一般不要随意修改,修改时可以复制原信息,并标明修改时间和修改人(注释掉)


特点:所有程序的配置文件一般都在/etc/程序名.conf

四.日志轮转logrotate

  • 主配置文件:/etc/logrotate.conf
  • 子文件夹:/etc/logrotate.d/*(一般存放自定义的配置,不要随便改主配)

查看主配置文件#vim /etc/lorotate.conf
请添加图片描述

补充:

missingok表示丢失不提醒

notifempty空文件不轮转(一般#关闭)

maxsize n 文件大小超过n立刻轮转

当修改了日志轮转的配置文件后,如果想立刻执行轮转可以

#/usr/sbin/logrotate /etc/logrotate.conf(让这个logrotate程序按照后面这个配置文件执行一遍)

也可以修改系统时间——用date命令

#date——查看时间

#date 02280100——修改时间(月日时分,不建议乱改)

公司有统一的时间服务器ntp



这篇关于Linux11:任务计划,日志管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程