在Debian系统中,使用nohup命令可以让程序在后台运行,即使关闭终端也不会中断
打开终端。
使用nohup命令启动程序,并将标准输出重定向到一个日志文件。例如,如果你想运行一个名为my_script.sh的脚本,可以使用以下命令:
nohup ./my_script.sh > my_output.log 2>&1 &
这里,>表示将标准输出重定向到my_output.log文件,2>&1表示将标准错误输出重定向到标准输出(即my_output.log文件),最后的&表示将程序放入后台运行。
logrotate工具。首先,确保logrotate已安装:sudo apt-get install logrotate
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。
my_script.sh.conf文件放到/etc/logrotate.d/目录下:sudo cp my_script.sh.conf /etc/logrotate.d/
现在,当my_output.log文件达到指定大小时,logrotate会自动轮转日志文件,并根据配置进行压缩和删除旧文件。
这样,你就成功配置了Debian系统中nohup命令的日志输出。