centos

如何配置centos nohup日志记录

小樊
31
2025-12-19 16:31:41
栏目: 智能运维

在 CentOS 系统中,nohup 命令用于在后台运行命令,即使关闭终端也不会中断进程。默认情况下,nohup 会将输出重定向到 nohup.out 文件。如果你想自定义日志记录,可以使用以下方法:

  1. 使用 nohup> 重定向符将输出重定向到自定义日志文件:
nohup your_command > your_log_file.log 2>&1 &

这里,your_command 是你要运行的命令,your_log_file.log 是你要记录日志的文件。2>&1 表示将标准错误(2)重定向到标准输出(1),& 表示将命令放入后台运行。

例如,如果你想运行一个名为 my_script.sh 的脚本,并将日志记录到 my_log.log 文件中,可以使用以下命令:

nohup ./my_script.sh > my_log.log 2>&1 &
  1. 如果你想限制日志文件的大小,可以使用 logrotate 工具。首先,确保已经安装了 logrotate
sudo yum install logrotate

然后,创建一个新的 logrotate 配置文件,例如 /etc/logrotate.d/my_log,并添加以下内容:

/path/to/your_log_file.log {
    size 100M
    rotate 5
    compress
    missingok
    notifempty
    create 640 root root
}

这里,size 100M 表示当地日志文件达到 100MB 时进行轮转,rotate 5 表示保留 5 个轮转日志,compress 表示压缩旧日志文件,missingok 表示如果日志文件丢失不会报错,notifempty 表示如果日志文件为空则不进行轮转,create 640 root root 表示创建新的日志文件,权限为 640,属主为 root,属组为 root。

最后,确保 logrotate 定期运行。你可以手动运行 logrotate 来测试配置:

sudo logrotate /etc/logrotate.conf

或者等待 logrotate 的默认运行间隔(通常每天一次)。

0
看了该问题的人还看了