linux

nohup命令如何实现日志轮转

小樊
54
2025-03-22 00:57:42
栏目: 编程语言

nohup 命令本身不提供日志轮转功能,但你可以将其输出重定向到一个文件,并使用 logrotate 工具来实现日志轮转。以下是如何配置和使用它们的步骤:

  1. 使用 nohup 命令将程序的输出重定向到一个文件。例如,如果你想运行名为 myapp 的程序并将输出保存到名为 myapp.log 的文件中,可以使用以下命令:
nohup ./myapp > myapp.log 2>&1 &

这会将标准输出和标准错误都重定向到 myapp.log 文件,并在后台运行程序。

  1. 创建一个 logrotate 配置文件。在你的 /etc/logrotate.d/ 目录下创建一个新文件,例如 myapp。在这个文件中,添加以下内容:
/path/to/myapp.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
}

这个配置文件指定了以下选项:

  1. 确保 logrotate 服务已启用并运行。在大多数Linux发行版中,logrotate 服务默认是启用的。你可以使用以下命令检查其状态:
sudo systemctl status logrotate

如果服务未运行,可以使用以下命令启动它:

sudo systemctl start logrotate

现在,你的程序的输出将被记录到 myapp.log 文件中,并且 logrotate 将每天自动轮转日志文件。

0
看了该问题的人还看了