nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。默认情况下,nohup
会将输出重定向到 nohup.out
文件中。如果你想设置日志级别,可以通过以下几种方法来实现:
你可以将标准输出和标准错误输出重定向到不同的日志文件,并根据需要设置日志级别。
nohup your_command > output.log 2> error.log &
output.log
:用于存储标准输出。error.log
:用于存储标准错误输出。如果你的程序是用编程语言编写的,可以使用相应的日志库来设置日志级别。例如,在 Python 中可以使用 logging
模块:
import logging
# 配置日志
logging.basicConfig(filename='app.log', level=logging.INFO)
# 你的代码
logging.info('This is an info message')
logging.error('This is an error message')
tee
命令你可以使用 tee
命令将输出同时显示在终端并写入日志文件:
nohup your_command | tee output.log &
syslog
如果你希望将日志发送到系统日志,可以使用 syslog
:
nohup your_command >> /var/log/syslog 2>&1 &
你还可以使用第三方日志工具,如 logrotate
来管理日志文件的大小和轮转。
logrotate
sudo apt-get install logrotate
logrotate
创建一个配置文件 /etc/logrotate.d/your_command
:
/path/to/output.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
这个配置文件表示每天轮转一次日志文件,保留最近7天的日志,并对旧日志进行压缩。
根据你的具体需求,可以选择适合的方法来设置 nohup
命令的日志级别。对于简单的应用,重定向输出到文件可能是最直接的方法;而对于复杂的应用,使用日志库或第三方日志工具可能更加合适。