温馨提示×

如何配置Debian nohup日志输出

小樊
49
2025-07-17 20:01:00
栏目: 智能运维

在Debian系统中,使用nohup命令可以让程序在后台运行,即使关闭终端也不会中断

  1. 打开终端。

  2. 使用nohup命令启动程序,并将标准输出重定向到一个日志文件。例如,如果你想运行一个名为my_script.sh的脚本,可以使用以下命令:

nohup ./my_script.sh > my_output.log 2>&1 &

这里,>表示将标准输出重定向到my_output.log文件,2>&1表示将标准错误输出重定向到标准输出(即my_output.log文件),最后的&表示将程序放入后台运行。

  1. 如果你想限制日志文件的大小,可以使用logrotate工具。首先,确保logrotate已安装:
sudo apt-get install logrotate
  1. 创建一个名为my_script.sh.conf的配置文件,用于配置logrotate。在这个文件中,添加以下内容:
/path/to/my_output.log {
    size 100k
    rotate 5
    compress
    missingok
    notifempty
    create 0640 user group
}

这里,size 100k表示当日志文件大小达到100KB时,将触发日志轮转;rotate 5表示保留5个轮转后的日志文件;compress表示压缩轮转后的日志文件;missingok表示如果日志文件不存在,不会报错;notifempty表示如果日志文件为空,不进行轮转;create 0640 user group表示创建新的日志文件,权限为0640,属主为user,属组为group。

  1. my_script.sh.conf文件放到/etc/logrotate.d/目录下:
sudo cp my_script.sh.conf /etc/logrotate.d/

现在,当my_output.log文件达到指定大小时,logrotate会自动轮转日志文件,并根据配置进行压缩和删除旧文件。

这样,你就成功配置了Debian系统中nohup命令的日志输出。

0