Linux系统的日志管理、时间同步、延迟命令at

方便查看和管理

/var/log/messages ?系统服务及日志,包括服务的信息,报错等等

/var/log/secure ? ? ? ? 系统认证信息日志

/var/log/maillog ? ? ? ?系统邮件服务信息

/var/log/cron ? ? ? ? ? ? 系统定时任务信息

/var/log/boot.log ? ? ? 系统启动信息

rsyslog将内存中的日志采集到硬盘中保存

/etc/rsyslog.conf ? ##主配置文件

  • auth 用户登陆日志(pam产生的日志)
  • authpriv 服务认证日志(sshd认证)
  • kern 内核日志
  • cron 定时任务日志
  • lpr? 打印机日志
  • mail 邮件日志
  • news 新闻
  • user 用户相关程序日志
日志级别
  • debug? 系统调试信息
  • info 常规信息
  • warning? 警告信息
  • err? 报错(级别低,组织了某个功能不能正常工作)
  • crit 报错(级别高,组合了整个软件或者系统不能正常工作)
  • alert? 需要立即修改的信息
  • emerg? 内核崩溃等严重信息

例如:将所有日志采集到 /var/log/log.all

将所有的日志同步到一台主机

为了方便管理将发送方主机名设为node2 接收方为node1

在日志发送方

vim /etc/rsyslog.conf

*.*? @日志接受方地址ip 发送日志

*.* @172.25.254.100 ##通过udp协议把日志发送到100主机,@udp,@@tcp

systemctl restart rsyslog ##重启采集服务

在日志接收方

vim /etc/rsyslog.conf

15 $ModLoad imudp

16? $UDPServerRun 514

取消这两行的注释 使node1成为可以接受日志的状态

systemctl restart rsyslog? ##重启采集服务

systemctl stop firewalld ##关闭防火墙

systemctl disable firewalld

cat /var/log/message ##查看远程日志

vim /etc/rsyslog.conf

$template 格式名称,"日志采集格式"

*.info;mail.none;authpriv.none;cron.none? /var/log/messages;格式名称

$template xupt,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg% "

%timegenerated% ##日志生成时间

%FROMHOST-IP% ##日志来源主机的IP

%syslogtag% ##日志生成程序

%msg% ##日志内容

? ##换行

*.info;mail.none;authpriv.none;cron.none? /var/log/messages;westos

 

systemd-journald ? ? ? ?进程名称

journalctl ? ? ? ? ? ? ? ? ? ? ##日志查看,直接查看内存中的日志

-n 3 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 显示最新3条

-p err ? ? ? ? ? ? ? ? ? ? ? ? ?显示报错

-f ? ? ? ? ? ? ? ? ? ? ? ? ? 监控日志? 用户ctrl+c结束监控

journalctl --since? --until 从什么时间到什么时间的日志

-o verbose ##显示日志能够使用的详细进程参数

journalctl _PID=651 ##查看id为651的进程的日志

因为journalctl是直接查看内存中的日志,所以reboot 关机之后日志消失

默认此程序只负责对日志进行查看而不对日志进行保存和采集

那么关机之后在开机,对日志进行查看,只能查看到开机后的日志,系统之前的日志因为是保存在内

存中的,所以关机后就被清空了,那么在开机用journalctl 是看不到的。

 

设置:

mkdir /var/log/journal

chgrp systemd-journal? /var/log/journal

chmod? g+s /var/log.journal

killall -1 systemd-journald

测试效果:

journalctl -n 3

date

reboot

 

journalctl

在服务器端开启时间共享

vim /etc/chrony.conf

29 local stratum 10 ##开启时间共享功能并设定共享级别,这个参数开启后本机不同步别人的时间到本机

22 allow 172.25.254.0/24? ##允许那些客户端来访问本机共享的时间

systemctl restart chronyd

在客户端:

vim /etc/chrony.conf

server 172.25.254.100 iburst


systemctl restart chronyd

chronyc sources -v

出现*说明同步成功

timedatectl命令

显示当前时间信息雅思托福区别

set-time ##设定当前时间

set-timezone ##设定当前时区

set-local-rtc 0|1 ##设定是否使用utc时间

at 时间

at now+5min

at 16:00

at> touch /mnt/file{1..10}

ctrl+d

at> <EOT>

at -l ##查看延迟的任务

 

at -c 3 ##查看延迟任务的具体内容

at -r 3? ##删除延迟任务

监控命令:watch -n 1 ls /mnt/

 


/etc/at.deny ##at命令的黑名单
/etc/at.allow ##白名单
当白名单建立黑名单失效 其他用户除了root用户都不能使用at

 

原文地址:https://www.cnblogs.com/zhangyanran/p/9895886.html