在 CentOS 系统中,nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。nohup
会将程序的输出重定向到一个名为 nohup.out
的文件中。要查看和管理这些日志,可以使用以下方法:
查看 nohup.out 文件内容:
使用 cat
命令查看 nohup.out 文件的内容:
cat nohup.out
如果文件很大,可以使用 less
或 tail
命令查看部分内容:
less nohup.out
或
tail nohup.out
使用 tail
命令的 -f
选项可以实时查看日志文件的更新:
tail -f nohup.out
查看特定时间段的日志:
使用 grep
命令结合正则表达式查找特定时间段的日志。例如,查找包含 “2021-06-01 12:00:00” 的行:
grep "2021-06-01 12:00:00" nohup.out
日志轮转:
当 nohup.out 文件变得非常大时,可以使用日志轮转工具(如 logrotate)来自动分割和管理日志文件。CentOS 默认已经安装了 logrotate。你可以在 /etc/logrotate.d/
目录下找到相关的配置文件。
如果需要自定义 logrotate 配置,可以创建一个新的配置文件,例如 /etc/logrotate.d/myapp
,并添加以下内容:
/path/to/your/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 0640 user group
}
这个配置表示每天轮转一次日志文件,保留最近 7 天的日志,压缩旧日志文件,如果日志文件不存在则不报错,如果日志文件为空则不轮转,以及设置新日志文件的权限和属主。
logrotate 通常会自动运行,你也可以手动触发日志轮转:
logrotate /etc/logrotate.conf
通过这些方法,你可以查看和管理 CentOS 中使用 nohup
命令运行的程序的日志。