在Linux环境中,last
命令是一个非常有用的工具,用于查看系统中登录的历史信息。为了便于日常管理和审计,可以编写一个简单的自动化脚本来定期执行 last
命令并保存结果到指定文件中。
last
命令获取最近的登录记录。last
命令以下是一个简单的Shell脚本,用于自动执行 last
命令并将结果保存到指定文件:
#!/bin/bash
# 定义变量
LOG_FILE="/var/log/last_login.log"
TODAY=$(date +%Y-%m-%d)
# 执行last命令并重定向输出
echo "Login history for $TODAY:" >> $LOG_FILE
last >> $LOG_FILE
变量定义:
LOG_FILE
:指定日志文件路径,这里选择在 /var/log/last_login.log
。TODAY
:使用 date +%Y-%m-%d
获取当前日期。执行命令并重定向输出:
last
命令的输出。这样可以确保每次运行脚本时都会在日志文件中新增一行数据。为了确保脚本定期自动运行,可以使用 cron
来配置定时任务。
打开crontab编辑器:
crontab -e
添加如下行以每小时执行一次脚本:
0 * * * * /path/to/your_script.sh > /dev/null 2>&1
注意将 /path/to/your_script.sh
替换为实际的脚本路径。
如果希望每天凌晨0点运行该脚本,可以使用:
0 0 * * * /path/to/your_script.sh > /dev/null 2>&1
cron
任务时,建议使用绝对路径以避免因环境不同而出现执行失败的情况。通过上述步骤和示例脚本,可以轻松实现 last
命令的自动化记录功能。这样不仅可以方便地查看系统的登录历史,还能通过日志审计提高安全性。