• linux-任务计划和日志管理


    一、 任务计划
    1、一次性调度执行at
    1.1语法格式:at
    1.2at示例:
    [root@localhost yum.repos.d]# at now +2min
    at> useraadd    user03
    //从现在到两分钟后创建一个用户user03
    at>    //ctrl+d退出
    job 1 at Tue Aug  9 12:14:00 2022
    2、循环调度执行cron
    2.1简介:cron和crontab是不可分割的
    2.2作用: 用于设置周期性被执行的命令
    2.3查看程序是否运行的两种方法
    [root@localhost ~]# ps aux  |  grep  crond
    //(1)查看进程  (查看程序是否运行)
    root       1174  0.0  0.0 126384   420 ?        Ss   8月08   0:00 /usr/sbin/crond -n
    root      19642  0.0  0.0 112828   980 pts/0    R+   12:22   0:00 grep --color=auto crond
    [root@localhost ~]# systemctl status crond.service
    //(2)查看程序服务状态
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since 一 2022-08-08 22:25:07 CST; 13h ago
    Main PID: 1174 (crond)
        Tasks: 1
       CGroup: /system.slice/crond.service
               └─1174 /usr/sbin/crond -n
    8月 08 22:25:07 localhost.localdomain systemd[1]: Started Command Scheduler.
    8月 08 22:25:07 localhost.localdomain crond[1174]: (CRON) INFO (RANDOM_DELAY will ...)
    8月 08 22:25:09 localhost.localdomain crond[1174]: (CRON) INFO (running with inoti...)
    Hint: Some lines were ellipsized, use -l to show in full.
    2.4cron示例:
    计划任务存储的位置
    [root@localhost ~]# ls /var/spool/cron/
    管理方式:
    (1)创建计划 crontab -e Edit jobs for the current user
    (2)查询计划 crontab -l List jobs for the current user
    管理员可以使用 -u usermame去管理其他用户的计划任务
    (3)删除计划crontab -r Remove all jobs for the current user
    [root@localhost ~]# crontad -e
    //进入后可以编写任务计划
    *          *      *         *          *       command
    min  hour  day  month week
    分       时     日        月      周            命令
    *****: 每分 每小时  每天  每月  每周
    二、 日志管理
    简介:
    1、日志进程 rsyslogd
    1.1:处理程序的进程
    (1)第一类:rsyslogd(系统专职日志程序 )
    • 处理大部分日志记录
    • 系统操作有关的信息,如登录信息、错误信息等
    查看日志进程
    [root@localhost ~]# ps axu   |   grep  rsyslogd
    root       1158  0.0  0.1 220656  1188 ?        Ssl  03:28   0:04 /usr/sbin/rsyslogd -n
    root      21146  0.0  0.0 112828   980 pts/0    R+   18:13   0:00 grep --color=auto rsyslogd
    (2)第二类:httpd/nginx/mysql(各类应用程序,可以以自己的方式记录日志)
    1.2常见的日志文件(系统、进程、应用程序)
    格式:tail    查看日志的路径/var/log/...
    [root@localhost var]# cd /var/log
    //进入  /var/log
    /var/log/messages
    [root@localhost log]# tail -1 /var/log/messages
    //主日志文件
    Aug 12 18:43:17 localhost systemd: Started Hostname Service.
    [root@localhost log]# tail -f /var/log/messages
    //动态查看日志文件的尾部
    [root@localhost log]# tailf /var/log/secure
    //认证、安全
    1.3 rsylogd配置
    (1)相关程序
    yum install rsyslogd logrotate
    注意:默认已经安装
    (2)启动程序
    (3)相关文件
    [root@localhost log]# rpm -q rsyslog
    rsyslog-8.24.0-55.el7.x86_64
    //查看软件包
    [root@localhost log]# rpm -qc rsyslog
    /etc/logrotate.d/syslog
    /etc/rsyslog.conf
    /etc/sysconfig/rsyslog
    //查看配置文件
    [root@localhost log]# /etc/rsyslog.conf
    //查看配置文件
    1.4主配置文件
    [root@localhost log]# vim /etc/rsyslog.conf
    (1)Rules:规则,是一种生成日志,以及存储日志的策略
    规则由  设备+级别+存储位置    三部分组成
    (2)FACILITY&LEVEL:
    facility (远程登录)设备:
    ssh_host_ecdsa_key        ssh_host_ed25519_key.pub  
    [root@localhost ~]# grep Facility /etc/ssh/sshd_config
    #SyslogFacility AUTH
    SyslogFacility AUTHPRIV
    level 级别:
    2、 日志轮转logrotate
    日志轮转就像是飞机里面的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事
    2.1工作原理: 按照配置进行轮转
    文件种类:主配置文件(决定了日志如何轮转)、子配置文件夹
    [root@localhost ~]# ls /etc/logrotate.conf /etc/logrotate.d/
    //查看主配置文件和子配置文件
    /etc/logrotate.conf
    /etc/logrotate.d/:
    bootlog  cups       httpd        libvirtd       numad  psacct  syslog          yum
    chrony   firewalld  iscsiuiolog  libvirtd.qemu  ppp    samba   wpa_supplicant
    2.2 主配置文件介绍
    [root@localhost ~]# vim /etc/logrotate.conf
    //查看轮转文件
    轮转周期有两大维度:系统时间和文件大小
    /var/log/btmp{
    missingok  //丢失不提示
    create创建日志文件  0664   权限  root 属主   utmp属组
    //轮转后创建文件,并且设置权限
    rotate 1 //保留1份
    }
    2.3yum实例(了解)
    [root@localhost ~]# vim /etc/logrotate.d/yum
    /var/log/yum.log {
        missingok
        #notifempty
        #maxsize 30k
        yearly
        create 0600 root root
    }
    测试:
    错误示范:
    [root@localhost ~]# /usr/sbin/logrotate /etc.logrotate.conf
    error: cannot stat /etc.logrotate.conf: 没有那个文件或目录
    [root@localhost ~]# /usr/sbin/logrotate /etc/logrotate.conf
    [root@localhost ~]# ls /var/log/yum*  -l
    -rw-------. 1 root root   0 8月  12 23:16 /var/log/yum.log
    -rw-------. 1 root root 790 8月   9 10:25 /var/log/yum.log-20220812
    正确示范:
    先修改时间
    [root@localhost ~]# date 08131000
    2022年 08月 13日 星期六 10:00:00 CST
    [root@localhost ~]# /usr/sbin/logrotate -s  /var/lib/logrotate/logrotate.status /etc/logrotate.conf
  • 相关阅读:
    438页19万字农牧业综合服务信息化减灾应急建设方案
    【GO】LGTM_Grafana_gozero_配置trace(4)_代码实操及追踪
    第二部分—C语言提高篇_11. 预处理
    数据结构-快速排序“人红是非多”?看我见招拆招
    C#面:如何避免类型转换时的异常?
    Unity HDRP 录制透明通道序列帧
    Linux网络编程:UDP协议和TCP协议
    第十八章 类和对象——多态
    前端Vue自定义得分构成水平柱形图组件 可用于系统专业门类得分评估分析
    【C++】STL——vector(万字详解)
  • 原文地址:https://blog.csdn.net/qq_68163788/article/details/126313014