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

你可能感兴趣的:(linux,servlet,服务器,linux)