Linux服务器记录并查询历史操作记录

Apollo MPC横纵向耦合控制学习笔记 Apollo MPC横纵向控制原理学习笔记 阅读详情
AI摘要

本文介绍了一种在Linux服务器上记录用户操作的方法,并提供了一个实用的脚本来查询这些记录。通过修改profile文件并创建自定义脚本,管理员可以有效地监控和回溯用户的活动。

Linux服务器在使用过程中,经常会有除自己之外的其他人员使用。并不是每个人都对Linux服务器特别熟悉,难免会有一些操作导致服务器报错。

因此,监控Linux服务器的操作并记录下来,是非常有必要的!

history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。

vi /etc/profile

添加内容如下:

#history record
history
RQ=`date "+%Y%m%d"`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/record ]
then
mkdir /tmp/record
chmod 777 /tmp/record
fi
if [ ! -d /tmp/record/${LOGNAME}/${RQ} ]
then
mkdir -p /tmp/record/${LOGNAME}/${RQ}
chmod 300 /tmp/record/${LOGNAME}/${RQ}
fi
export HISTSIZE=8192
SJ=`date "+%H:%M:%S"`
export HISTFILE="/tmp/record/${LOGNAME}/${RQ}/${USER_IP}@${LOGNAME}.$SJ"
chmod 600 /tmp/record/${LOGNAME}/*record* 2>/dev/null

然后保存并退出,执行以下命令,使得编写的配置生效。

source /etc/profile

将操作记录保存在/tmp/record/用户名/日期/登录IP@用户名.时间,

例如:/tmp/record/root/20170801/192.168.108.140@root.16:02:41

历史操作命令已经记录在上述文件中,可以直接查看。

但是为了查询方便,可以再编写一个查询的脚本。使用root用户登录,创建bin文件夹,命令如下:

mkdir /root/bin

创建查询脚本record:

vi /root/bin/record

添加以下内容:

#!/bin/sh
user=${LOGNAME}
time=`date +%Y%m%d`
ip=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`

while [ $# -gt 0 ]
do
        case $1 in
        -u|--user) user=$2;
                   shift 2;
                   ;;
        -t|--time) time=$2;
                   shift 2;
                   ;;
        -p|--ip)  ip=$2;
                   shift 2;
                   ;;
        -l|--list)
                  export HISTFILE="/tmp/record/$user/$time";
                  echo $HISTFILE;
                  ls $HISTFILE;
                  exit 0;
                  ;;
        *)
                echo "usage: record [ -u|-t|-p|-t| --user|--time|--ip|--list]
                -u --user:      username;
                -t --time:      The date required to query;
                -p --ip:        Query the IP ;
                -l --list:      Show the list of record files.
        Notice:
                -l --list:      This parameter must be used as the last parameter,
                                and only the display of the file path,
                                not the file contents."
                exit 0;
     ;;
 esac
done

export HISTFILE="/tmp/record/$user/$time"
echo Path: $HISTFILE/ | tr -d '\n'
ls $HISTFILE | grep $ip
#export RecordFile="$HISTFILE/$ip*"
#echo Contents:
#cat $RecordFile


保存并退出,使用root用户在任意目录下面都可以使用record命令进行查询历史操作记录。

注:只有当连接退出之后,才会保存操作记录。不指定参数的话,会使用当前连接的默认参数!

具体参数使用情况如下:



默认查询(查询当前用户,当前IP的历史连接的操作记录)

record

将执行相应命令显示出来文件,进行打开,即可查看。(此处我已进行修改,除了l或者list参数以外,可以自动展示出来历史记录。由于历史操作太多,暂时进行注释。)


本人能力一般,希望大家多多指教!

Quantum Espresso实战进阶:HSE混合泛函在能带计算中的精准应用 本文深入探讨了在Quantum Espresso中应用HSE混合泛函进行高精度能带计算的实战方法。针对传统DFT方法低估半导体带隙的问题,HSE通过混合精确交换能,显著提升计算精度。文章详细讲解了从输入文件配置、参数设置(如nqx网格、exxdiv_treatment)、到自洽与非自洽计算流程,以及结果可视化与对比的全过程,并提供了关键的调优与避坑指南,助力实现从PBE到HSE的精准进阶。 阅读详情

相关推荐

【CAN通讯系列18】- NM在干什么?休眠唤醒

同时针对不同休眠或唤醒场景,网管报文的userdata有所区别,如何做到场景与网管报文内容一一映射,通常会定义另一帧报文,用来表明当前是哪个或哪几个唤醒条件或休眠条件满足。又或者如果用户发现汽车电量不充足了,那么会有充电需求,插枪充电,这时如果插上慢充枪,那么OBC会先被唤醒,识别出插枪行为及其慢充枪的连接状态,然后OBC唤醒BMS和其他相关的控制器进行充电。也就是说,通过对一个又一个整车功能和应用场景的详细分析,最终能够汇总出整车所有的休眠唤醒场景需求,通常会用一个表格来管理,俗称休眠唤醒表。

menghuyouyou的博客 1169

Linux系统中如何查看TCP连接数

初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链接,而如果一旦连接上,在keeyalive 的存活时间内(KeepAliveTimeout,默认5秒)都不用重新打开连接,因此解决的方法就是加大apache的最大连接数。然后wc -l统计。net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

lingshengxiyou的博客 4119

AI驱动芯片设计的端到端验证:AI应用架构师的全流程指南

想象你要建造一座1000层的超级摩天大楼,每个房间都有独特的功能,管道、电路、电梯系统交织如迷宫。传统的检查方式是派1000个工程师逐层逐房手动检查,耗时十年且仍可能遗漏火灾隐患。这就是今天芯片设计面临的困境:7nm芯片含百亿晶体管,相当于百亿个"房间",传统验证方法(人工编写测试用例、随机仿真)已难以应对。本文的目的,是为AI应用架构师提供一份"AI驱动芯片验证导航图",范围涵盖从验证需求分析到芯片签核的全流程,包括AI模型如何融入传统验证工具链、数据如何驱动验证效率提升、以及端到端闭环系统的构建方法。

2501_92132293的博客 1241

Linux查看某个端口的连接数

Linux查看某个端口的连接数 回到顶部 一、查看哪些IP连接本机 netstat -an 回到顶部 二、查看TCP连接数 1)统计80端口连接数 netstat -nat | grep -i "80" | wc -l 2)统计httpd协议连接数 ps -ef | grep httpd | wc -l 3)统计已连接上的,状态为“established netstat -anp | grep ESTABLISHED | wc -l 4)、查出哪个IP地址连接最多,将

u010074988的博客 1247

SpringCloud最新最全面试题

在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息比如服务地址通讯地址等以别名方式注册到注册中心上。另一方(消费者服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)。在任何RPC远程框架中,都会有一个注册中心存放服务地址相关信息(接口地址)。

qq_38196449的博客 4329

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 792

history查看历史操作记录,并显示操作时间

在查看历史的操作记录有两种方式 1.在用户的目录下的.bash_history文件中 [root@node1 ~]# vi ~/.bash_history reboot vi /etc/sysconfig/network-scripts/ifcfg-eth0 setup service netwok restart service network restart ping 192.168.11

Silence Ray的博客 2万+

【DaVinci Developer专题】-23-IDT高阶应用:结构体类型的数组

共8页 目录 1 创建一个Record IDT 2 创建一个Array IDT 3 创建一个S/R Port Interface 4 创建一个Constant 5 导入CFG生成代码的总结 6 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键字: 缩略语/术语 含义 DEV DaVinci Developer .

「汽车电子助手」的博客 1669

Linux 查看用户操作记录

使用history命令,查看自己的操作记录,但如果你是root用户,如何查看其它用户的操作记录呢?   其实history命令只是把当前用户目录下的~/.bash_History文件内容列出来而已。   一般而言,history展示的操作记录是没有时间的,可以在/etc/bashrc文件中加入下列代码:   HISTFILESIZE=2000 HISTSIZE=2000 HISTT

gaobudong1234的博客 2万+

Rockchip开发系列 - 3.4.GPIO扩展芯片AW95xx和PCA953X(2)

Rockchip开发系列 - 3.3.GPIO扩展芯片AW95xx和PCA953X(2)

fulinux的博客 1005

主成分分析(PCA)简洁高效MATLAB实现详解

本文介绍了一个简洁高效的PCA算法实现。该实现通过SVD分解计算主成分,避免了显式协方差矩阵计算,支持两种降维方式:固定维度或按能量比例自动选择。核心步骤包括数据中心化、SVD分解和维度选择,代码量少但功能完整,适用于数据预处理、降维和特征提取等任务。实现中考虑了稀疏矩阵转换、默认参数处理等细节,可直接应用于MATLAB环境。

m0_62153576的博客 64

Linux下查看历史操作记录

Linux下查看历史操作记录 2012-04-17 10:23:05 我来说两句 收藏 我要投稿 last命令可以用来查看用户的登陆记录。 history命令可以查看命令的执行历史。 www.2cto.com 常用日志文件如下:     access-log   纪录HTTP/web的传输     acct/pacct   纪录用户命令     aculog     纪录MODEM的活动     btmp      纪录失败的纪录     lastlog     纪录最近几次成功

weixin_52428496的博客 1万+

Verilog HDL 100道面试题及参考答案

在 Verilog HDL 中,参数(parameter)和宏定义(define)都可用于定义常量,但它们存在诸多不同之处。参数(parameter)是模块内部的常量定义,具有局部性。它在模块内部起作用,不同模块可以有同名的参数,且值可以不同。参数通常用于定义模块的一些配置信息,例如数据位宽、延迟时间等。参数的定义和使用是在模块的作用域内进行的,通过参数传递可以方便地对模块进行配置。endmodule在上述代码中,WIDTH是一个参数,用于定义加法器的位宽。通过改变WIDTH。

大模型大数据攻城狮的专栏 1734

基于Linux的小项目-在线词典

接触到的基于Linux的第一个实战小项目,在众多大牛的协助下完美实现。

weixin_49606782的博客 1777

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

基于TCP协议和数据库的在线词典项目

在线词典 功能:基于Linux操作系统,网络编程和数据库实现在线词典 客户端可以注册,登入,查询历史信息等操作,使用基于TCP的多线程并发服务器,并使用sqlite3数据库实现单词的导入以及对用户信息的管理。 1.注册:若用户名已经注册过,重新注册 2.登录:用户名或密码错误需重新登录 3.查询:输入要查的单词,#键结束查询 4.历史:可以查询当前用户历史查找过的单词 5.退出:退出在线词典 客户端相关代码 客户端主函数相关代码 #include "./inc/dict_socket.h" void ma

zkq_zkq的博客 2455

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux 网络编程6 在线词典

该项目为HQ嵌入式Linux应用项目,主要运用知识:Sqlite3 数据库基本操作,TCP/IP多并发编程,文件IO,。

HSYDHASGD的博客 130

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

linux查找历史记录内容,linux中查看历史记录

linux中查看历史记录以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!1.linux如何查看用户所有的历史操作记录1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:用户名称用户的机器名称...

weixin_42131443的博客 4966

linux 进程历史信息,linux如何查看用户所有的历史操作记录

linux如何查看用户所有的历史操作记录以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:用户名称用户的机器名称或tty号远程主机地址用户登...

weixin_42346935的博客 5624

linux文件操作记录,附查询历史操作记录文件shell

本shell是配合前一个记录用户历史操作记录shell的,代码如下:#!/bin/sh -# filename getrecorduser=time=while [ $# -gt 0 ]docase $1 in-u|--user) user=$2shift 2;;-t|--time) time=$2shift 2;;-*) echo "$0:$1 Wrong Options!" &g...

weixin_35995377的博客 1929

linux 查看登录记录,Linux查看用户登陆历史记录

可以保存每个用户登录后的所有操作PS1="`whoami`@`hostname`:"'[$PWD]'historyUSER_IP=`who -u am i 2>/dev/null| awk '{print查看历史,列出历史提交记录gitlog命令行输出查看历史记录的简洁的版本gitlog--oneline命令行输出用 --graph 选项,查看历史中什么时候出现了分支git log ...

weixin_39895977的博客 4149

在linux用户下查看当前用户或者历史用户的操作记录

在linux用户下查看当前用户或者历史用户的操作记录

秘密博客 3647

Linux曾经登录用户清单,Linux—— 记录所有登陆用户的历史操作记录

前言记录相应的人登陆服务器后,做了那些操作,这个不是我自己写的,因为时间久了,原作者连接也无法提供,尴尬。步骤history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。vi /etc/profile添加内容如下:#history recordhistoryRQ=`date "+%Y%m%d"`USER_IP...

weixin_40001309的博客 372

linux通过日志查找出用户历史操作记录,历史日志_linux查看历史操作记录_淘题吧...

㈠ SQL server如何查看SQL的历史进程日志打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect ->在Database Name中选择数据库 -> Attach-> 左面对话框版中Browse-> View Log-> 就可以看到log记录权了想恢复的话: ...

weixin_30977485的博客 1120
上一篇: windows路由表设置
下一篇: Linux中查找指定大小或者指定内容的文件
我逍遥
博客等级 码龄12年 29粉丝 26原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值