【Linux记录操作日志】人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述Linux记录操作日志相关的知识,希望能为你提供帮助。
- 根据客户需求需要记录服务器的所有日志,并且要详细!后续会保存60天
- 实现方式:记录所有用户所执行的命令都发送给日志守护进程rsyslogd
# vim /etc/profile
###################################################
#设置history格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2> /dev/null| \\
awk print $NF|sed -e s/[()]//g`] "
#记录所有用户所执行的每一个命令都发送给日志守护进程rsyslogd
export PROMPT_COMMAND=\\
if [ -z "$OLD_PWD" ]; then
export OLD_PWD=$PWD;
fi;
if [ ! -z "$LAST_CMD" ] & & [ "$(history 1)" != "$LAST_CMD" ]; then
logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";
fi ;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;
- source一下
# source /etc/profile
- 因为是发送给rsyslogd进程,所以在/etc/rsyslog.conf设置存放路径
# vim /etc/rsyslog.conf
*.info; mail.none; authpriv.none; cron.none; user.none/var/log/messages# 添加user除外,要不然message和history都会记录浪费存储
user.*/var/log/history# 新增一条
- 重启rsyslog服务
# systemctl restart rsyslog
- 测试一下
- 每天切割可以通过logrotate来实现
# vim /etc/logrotate.d/history
/var/log/history
daily
copytruncate
rotate 7
compress
dateext
delaycompress
notifempty
missingok
create 644 root root
# logrotate -f /etc/logrotate.d/history
- 执行完就有了
推荐阅读
- ITSM的建设依赖基础信息库和服务目录,附落地案例分享
- Go Encoding和Decoding
- 如何搭建组件库的最小原型
- #私藏项目实操分享#愚公系列2022年05月 Python教学课程 72-DRF框架之认证和权限
- Docker下的Spring Cloud三部曲之一(极速体验)
- 监控概述Zabbix基础Zabbix监控服
- mq从零开始实现 mq-05-实现优雅停机
- LINUX 环境下安装配置JDK详解
- 为什么不建议给MySQL设置Null值(《死磕MySQL系列 十八》)