centos

nohup日志在centos中的存储

小樊
37
2025-06-30 17:39:00
栏目: 云计算

在 CentOS 系统中,nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行

默认情况下,nohup.out 文件会存储在当前工作目录下。如果你想将日志文件存储在其他位置,可以在运行 nohup 命令时指定输出文件的路径。例如:

nohup your_command > /path/to/your/logfile.log 2>&1 &

这里,your_command 是你要运行的命令,/path/to/your/logfile.log 是你希望存储日志文件的路径。2>&1 表示将标准错误输出(2)重定向到标准输出(1),& 表示将命令放入后台运行。

如果你想限制日志文件的大小,可以使用 logrotate 工具。首先,确保已经安装了 logrotate

sudo yum install logrotate

然后,创建一个名为 /etc/logrotate.d/your_command 的配置文件,其中包含以下内容:

/path/to/your/logfile.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 定期运行,可以通过创建一个 cron 任务来实现:

sudo crontab -e

在打开的编辑器中,添加以下行:

0 * * * * /usr/sbin/logrotate /etc/logrotate.conf

这将在每小时的第 0 分钟运行 logrotate。现在,你的 nohup 日志文件将会根据配置自动轮转和压缩。

0
看了该问题的人还看了