我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux中如何将执行过的命令记录到日志并发送到服务器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux中如何将执行过的命令记录到日志并发送到服务器

这篇文章主要介绍“Linux中如何将执行过的命令记录到日志并发送到服务器”,在日常操作中,相信很多人在Linux中如何将执行过的命令记录到日志并发送到服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中如何将执行过的命令记录到日志并发送到服务器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

第一种方法

代码如下:


# vi /etc/profile
#设置history格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| \
awk '{print $NF}'|sed -e 's/[()]//g'`] "
#记录shell执行的每一条命令
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;'

第二种方法
第一步:全局设置(这是一次性设置,需要root用户权限)

代码如下:


# vi /etc/profile
#用户登录时执行此脚本
#设置history显示格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null\
| awk '{print $NF}'|sed -e 's/[()]//g'`] "
#登录时清空当前缓存 echo "" > .bash_history


第二步:不同用户分别设置

代码如下:


# source /etc/profile
# vi /home/user1/.bash_logout
#当用户退出登录时会执行此脚本
tmpfile="/tmp/`whoami`_history.tmp"
#把格式化的history记录到文件里
history > $tmpfile
#读取文件,一行一行把文件内容发送到给syslogd。
#不要试图用"history | logger"或"logger -f $tmpfile"来替代下面的代码,
#否则将只能记录前200行。
k=1
while read line; do
((k++))
logger -t `whoami`_shell_cmd "$line"
done < $tmpfile
rm -f $tmpfile


(如果还有其它用户需要监控,则重复第二步骤)
第三步:把日志发送给远程主机(可选)

代码如下:


# vi /etc/rsyslog.conf
#增加如下行,IP自己换,也可以用域名,@表示用UDP协议,@@表示用TCP协议
*.*  @192.168.0.1


 
不足之处:
1. 不能实时记录命令并发送log
2. 要记录终端桌面下的命令需要重启。
=========

Linux中如何将执行过的命令记录到日志并发送到服务器

到此,关于“Linux中如何将执行过的命令记录到日志并发送到服务器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux中如何将执行过的命令记录到日志并发送到服务器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中如何将执行过的命令记录到日志并发送到服务器

这篇文章主要介绍“Linux中如何将执行过的命令记录到日志并发送到服务器”,在日常操作中,相信很多人在Linux中如何将执行过的命令记录到日志并发送到服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lin
2023-06-12

编程热搜

目录