last命令怎么用最有效?

在Linux系统中,查看重启记录是系统管理和故障排查的重要操作,通过分析重启时间、原因和频率,管理员可以评估系统稳定性、排查硬件或软件问题,以下是几种专业可靠的方法,适用于不同发行版(如Ubuntu、CentOS、Debian等):
last 命令直接读取二进制日志文件 /var/log/wtmp,记录所有登录和重启事件。
操作步骤:

  1. 打开终端,输入:
    last reboot
  2. 输出解读
    reboot   system boot  5.4.0-91-generic Tue Mar 15 09:30 - 11:45 (2+02:15)
    reboot   system boot  5.4.0-90-generic Mon Mar 14 08:00 - 09:20 (1+01:20)
    • 每行显示一次重启记录,包括内核版本、日期、持续运行时间。
    • 时间格式:(天数+小时:分钟) 表示系统持续运行时长。
  3. 常用参数
    • last reboot -n 5:仅显示最近5次重启。
    • last -x | grep reboot:结合其他系统事件(如关机)查看。

通过 journalctl 查询(Systemd系统专用)

适用于使用Systemd的现代发行版(Ubuntu 16.04+、CentOS 7+),可查看详细日志。
操作步骤:

  1. 输入命令:
    journalctl --list-boots  # 列出所有启动记录

    输出示例:

    0  abc123  Tue 2025-10-10 08:00:00 EDT → Tue 2025-10-10 18:00:00 EDT
    1  def456  Mon 2025-10-09 07:30:00 EDT → Mon 2025-10-09 20:00:00 EDT

    每行包含启动序号、ID、起止时间。

  2. 查看某次启动的详细日志
    journalctl -b -0  # 查看当前启动日志(-0表示最近一次)
    journalctl -b -1  # 查看上一次启动日志

检查 /var/log 下的日志文件

系统日志文件是原始记录源,需结合工具分析:

  1. /var/log/syslog/var/log/messages
    • Ubuntu/Debian:grep "systemd-logind" /var/log/syslog
    • CentOS/RHEL:grep "systemd: Started" /var/log/messages
  2. /var/log/boot.log
    记录启动过程中的服务状态:

    cat /var/log/boot.log  # 直接查看内容

快速查看最后一次启动时间

  1. who -b 命令
    who -b  # 输出示例:system boot  2025-10-10 08:00
  2. uptime 命令
    uptime -s  # 显示系统启动的具体时间(2025-10-10 08:00:00)

高级工具:sar(系统活动报告)

需安装 sysstat 包,记录历史性能数据(包括重启):

  1. 安装与启用:
    sudo apt install sysstat    # Debian/Ubuntu
    sudo yum install sysstat    # CentOS/RHEL
    sudo systemctl enable sysstat
  2. 查看重启记录:
    sar -q  # 检查负载记录,空白时段可能为重启

应用场景建议

  • 快速检查:用 last rebootwho -b
  • 深度分析:结合 journalctl/var/log 日志。
  • 长期监控:启用 sar 记录历史数据。

注意:部分命令需 root 权限(如 journalctl 和日志文件查看),普通用户可加 sudo 执行。


常见问题

  1. 无重启记录?
    • 检查日志是否被轮转或清理:ls -l /var/log/wtmp*
    • 确保系统日志服务(如 rsyslog)正常运行。
  2. 时间不对?
    timedatectl 校对时区:sudo timedatectl set-timezone Asia/Shanghai

参考资料

  • Linux手册页:man last, man journalctl, man syslog
  • Systemd官方文档:freedesktop.org
  • Sysstat工具文档:github.com/sysstat/sysstat
  • Linux日志管理规范:RFC 5424(Syslog协议)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8971.html

(0)
酷番叔酷番叔
上一篇 2025年7月28日 04:38
下一篇 2025年7月28日 05:01

相关推荐

  • 30秒写出高效脚本?

    cron 任务调度(最常用)原理:通过守护进程crond周期性执行任务,适用场景:需要按固定周期(分钟/小时/天等)重复执行的任务,操作步骤:编辑用户级定时任务crontab -e # 编辑当前用户的任务在打开的文件中添加规则(每行一个任务):# 格式:分 时 日 月 周 <命令&gt……

    2025年6月24日
    11300
  • 如何安全终止Linux中的sh脚本?

    前台运行脚本的终止(直接可见进程)若脚本在终端前台运行(例如通过 ./script.sh 启动):按下组合键:Ctrl + C立即发送 SIGINT 信号终止进程,适用于大多数情况,后台运行脚本的终止(需定位进程)步骤1:定位进程ID(PID)方法1:使用 ps 命令ps aux | grep sh输出示例:u……

    2025年8月4日
    12700
  • 如何轻松添加单个IP?

    在Linux系统中添加IP地址是网络管理的基础操作,适用于服务器负载均衡、多站点托管或故障转移等场景,以下是详细方法,涵盖临时与永久配置,适用于主流发行版(如Ubuntu、CentOS),操作需root权限,建议提前备份配置文件,临时添加IP(重启失效)通过ip命令即时生效,适合测试环境,# 添加IP范围(如虚……

    2025年7月26日
    13400
  • Linux如何退出普通用户登录状态?

    在Linux系统中,普通用户的退出操作通常涉及两种核心场景:一是用户主动结束当前会话(如注销、关闭终端),二是管理员协助终止特定用户的会话,由于Linux是多用户多任务操作系统,退出操作需结合权限、会话类型(图形界面/命令行)及具体需求展开,以下是详细操作说明及注意事项,命令行环境下普通用户的退出操作命令行是L……

    2025年10月5日
    8800
  • Linux执行.sh文件必学技巧?,或,Shell脚本如何提升Linux效率?,或,如何安全运行.sh脚本?

    基础执行方法添加执行权限(关键步骤) chmod +x your_script.sh # 赋予脚本可执行权限原理:Linux文件默认无执行权限,chmod +x修改权限位,验证权限:ls -l your_script.sh 查看是否包含 -rwxr-xr-x,直接执行脚本 ./your_script.sh……

    2025年6月14日
    12800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信