当前位置:首页 > 创业科技 > 正文

如何查看Linux近执行的脚本记录

在LinLinux系统中,脚本是一种非常重要的工具,可以用来自动化执行任务、批量处理数据等。当我们在使用脚本时,有时候需要查看近执行的脚本记录,以便于了解脚本的执行情况和排查问题。本文将介绍如何查看LinLinux近执行的脚本记录。

一、查看历史命令记录

在LinLinux系统中,可以使用history命令来查看用户执行过的所有命令记录。执行history命令后,系统会列出近执行的命令记录,并且每条记录前面都有一个编号,可以根据编号来执行之前执行过的命令。执行history命令后,可以看到如下输出

1 ls

2 cd /

3 mkdir test

4 cd test

5 touch test.txt

6 vim test.txt

7 rm test.txt

8 cd ~

9 history

其中,每条记录前面的数字就是该命令的编号。如果想要查看某个命令的详细信息,可以使用“!编号”的方式来执行该命令。想要执行第5条记录中的命令,可以使用“!5”命令来执行。

二、查看脚本执行记录

如果想要查看脚本执行的记录,可以使用如下命令

grep scriptname ~/.bash_history

其中,scriptname是脚本的名称,~/.bash_history是命令历史记录文件的路径。执行该命令后,系统会列出所有包含scriptname的命令记录,这些记录就是脚本执行的记录。如果想要查看test.sh脚本的执行记录,可以执行如下命令

grep test.sh ~/.bash_history

执行该命令后,系统会列出所有包含test.sh的命令记录,这些记录就是test.sh脚本的执行记录。

三、使用auditd查看脚本执行记录

如果想要更加详细地查看脚本的执行记录,可以使用auditd工具来实现。auditd是LinLinux系统中的审计工具,可以记录系统中所有的操作记录,包括文件访问、命令执行等。

使用auditd查看脚本执行记录的步骤如下

1. 安装auditd工具

在Ubuntu系统中,可以使用如下命令来安装auditd工具

sudo apt-get install auditd

在CentOS系统中,可以使用如下命令来安装auditd工具

sudo yum install audit

2. 配置auditd工具

在安装完auditd工具后,需要对其进行配置,以便于记录脚本的执行记录。具体的配置方式可以参考auditd工具的说明文档。

3. 查看脚本执行记录

配置完成后,可以使用如下命令来查看脚本的执行记录

sudo aureport -x --executable /path/to/script

其中,/path/to/script是脚本的路径。执行该命令后,系统会列出所有包含脚本执行记录的信息,包括执行时间、执行用户、执行结果等。

本文介绍了三种查看LinLinux近执行的脚本记录的,分别是查看历史命令记录、查看脚本执行记录和使用auditd查看脚本执行记录。不同的适用于不同的场景,可以根据实际需求选择合适的来查看脚本的执行记录。

如何查看LinLinux近执行的脚本记录

在LinLinux系统中,我们经常会使用脚本来完成一些自动化的任务,比如定时备份数据、自动化部署、监控等等。但是在实际操作中,我们难免会遇到一些问题,比如脚本执行失败、执行结果不符合预期等等,这时候我们就需要查看脚本的执行记录来找出问题所在。本文将介绍如何查看LinLinux近执行的脚本记录,让我们更加方便地排查问题。

一、查看bash历史记录

在LinLinux系统中,bash是常用的shell,我们可以通过查看bash的历史记录来查看脚本执行的记录。bash会记录所有执行过的命令,包括执行的脚本。我们可以使用history命令来查看bash的历史记录。

1.1 查看bash历史记录

使用history命令可以查看bash历史记录,命令格式如下

$ history

输出结果如下

1 ls

2 cd /home

3 mkdir test

4 cd test

5 touch test.txt

6 vim test.txt

7 echo "Hello World"

8 ./test.sh

9 history

以上是一个简单的历史记录,其中第8条命令是执行了一个名为test.sh的脚本。我们可以通过history命令来查看近执行的脚本记录,但是由于bash历史记录默认只记录近的1000条命令,所以可能无法查看到所有的脚本执行记录。

1.2 查看特定命令的历史记录

如果我们只想查看特定命令的历史记录,可以使用grep命令来过滤输出结果。比如我们想查看所有执行过的脚本记录,可以使用以下命令

$ history | grep "./"

输出结果如下

8 ./test.sh

通过grep命令过滤后,我们只能看到执行过的脚本记录,更加方便快捷。

二、使用last命令查看用户登录历史

有时候我们需要查看某个用户近的登录历史,以便排查问题。我们可以使用last命令来查看用户的登录历史。

2.1 查看所有用户的登录历史

使用last命令可以查看所有用户的登录历史,命令格式如下

$ last

输出结果如下

root pts/0 192.168.1.10 Tue Mar 2 0940 still logged in

reboot system boot 4.15.0-112-gene Tue Mar 2 0939 still running

root pts/0 192.168.1.10 Mon Mar 1 0931 - 1028 (0057)

reboot system boot 4.15.0-112-gene Mon Mar 1 0930 - 1028 (0057)

root pts/0 192.168.1.10 Fri Feb 26 0922 - 1018 (0055)

reboot system boot 4.15.0-112-gene Fri Feb 26 0921 - 1018 (0056)

root pts/0 192.168.1.10 Thu Feb 25 0913 - 1000 (0046)

以上是一个简单的登录历史记录,我们可以看到每个用户的登录时间、登录IP地址以及登录时长等信息。

2.2 查看特定用户的登录历史

如果我们只想查看特定用户的登录历史,可以使用以下命令

$ last username

其中username是要查看的用户名,比如我们要查看root用户的登录历史,可以使用以下命令

$ last root

输出结果如下

root pts/0 192.168.1.10 Tue Mar 2 0940 still logged in

root pts/0 192.168.1.10 Mon Mar 1 0931 - 1028 (0057)

root pts/0 192.168.1.10 Fri Feb 26 0922 - 1018 (0055)

root pts/0 192.168.1.10 Thu Feb 25 0913 - 1000 (0046)

通过last命令,我们可以查看用户的登录历史记录,以便更好地排查问题。

三、使用syslog查看系统日志

在LinLinux系统中,系统日志是重要的记录文件,包含了系统运行时的各种信息,比如用户登录、系统启动、服务启动等等。我们可以使用syslog来查看系统日志。

3.1 查看系统日志

使用syslog命令可以查看系统日志,命令格式如下

$ sudo tail /var/log/syslog

输出结果如下

Mar 2 093928 ubuntu kernel [ 0.000000] LinLinux version 4.15.0-112-generic (buildd@lgw01-amd64-002) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) 113-Ubuntu P Thu Jul 9 234139 UTC 2020 (Ubuntu 4.15.0-112.113-generic 4.15.18)

Mar 2 093928 ubuntu kernel [ 0.000000] Command line BOOT_IMGE=/boot/vmlinuz-4.15.0-112-generic root=UUID=d87a7a8e-5f5f-4d87-a2c7-8f1bfe1d6f08 ro quiet splash

Mar 2 093928 ubuntu kernel [ 0.000000] KERNEL supported cpus

Mar 2 093928 ubuntu kernel [ 0.000000] Intel GenuineIntel

Mar 2 093928 ubuntu kernel [ 0.000000] MD uthenticMD

Mar 2 093928 ubuntu kernel [ 0.000000] Centaur CentaurHauls

Mar 2 093928 ubuntu kernel [ 0.000000] x86/fpu Supporting XSVE feature 0x001 'x87 floating point registers'

Mar 2 093928 ubuntu kernel [ 0.000000] x86/fpu Supporting XSVE feature 0x002 'SSE registers'

Mar 2 093928 ubuntu kernel [ 0.000000] x86/fpu Supporting XSVE feature 0x004 'VX registers'

Mar 2 093928 ubuntu kernel [ 0.000000] x86/fpu Supporting XSVE feature 0x008 'MPX bounds registers'

以上是一个简单的系统日志记录,我们可以看到系统在启动过程中的各种信息。

3.2 查看特定关键字的系统日志

如果我们只想查看特定关键字的系统日志,可以使用grep命令来过滤输出结果。比如我们想查看所有执行过的脚本记录,可以使用以下命令

$ sudo grep "script" /var/log/syslog

输出结果如下

Mar 2 095008 ubuntu CRON[2310] (root) CMD (/usr/bin/python /root/script.py)

Mar 2 095008 ubuntu CRON[2311] (root) CMD (/root/script.sh)

Mar 2 095008 ubuntu CRON[2312] (root) CMD (/root/script.sh)

通过grep命令过滤后,我们只能看到包含关键字"script"的系统日志记录,更加方便快捷。

通过本文的介绍,我们可以了解到如何查看LinLinux近执行的脚本记录。无论是查看bash历史记录、用户登录历史还是系统日志,都可以帮助我们更好地排查问题,提高工作效率。在实际操作中,我们可以结合具体情况选择不同的来查看脚本执行记录,以便更好地解决问题。