CentOS nohup如何进行日志轮转
导读:在 CentOS 系统中,使用 nohup 命令运行程序时,通常会将输出重定向到一个文件,例如 nohup.out。为了防止日志文件过大,我们需要对其进行轮转。可以使用 logrotate 工具来实现日志轮转。 首先,确保已经安装了 log...
在 CentOS 系统中,使用 nohup 命令运行程序时,通常会将输出重定向到一个文件,例如 nohup.out。为了防止日志文件过大,我们需要对其进行轮转。可以使用 logrotate 工具来实现日志轮转。
首先,确保已经安装了 logrotate。如果没有安装,可以使用以下命令安装:
sudo yum install logrotate
接下来,创建一个 logrotate 配置文件,例如 /etc/logrotate.d/myapp,并添加以下内容:
/path/to/your/app/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
}
这里的配置表示:
- 每天轮转一次日志文件(
daily) - 保留最近 7 天的日志文件(
rotate 7) - 轮转后的日志文件使用 gzip 压缩(
compress) - 如果日志文件不存在,不会报错(
missingok) - 如果日志文件为空,不进行轮转(
notifempty) - 创建新的日志文件,权限为 640,属主为 root,属组为 root(
create 640 root root)
最后,确保 logrotate 定时任务已启用。编辑 /etc/cron.daily/logrotate 文件,确保其中包含以下内容:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ];
then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
现在,logrotate 将每天自动轮转 nohup.out 日志文件。如果需要手动触发日志轮转,可以运行以下命令:
sudo logrotate /etc/logrotate.d/myapp
这样,你就可以使用 nohup 命令在 CentOS 系统中进行日志轮转了。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS nohup如何进行日志轮转
本文地址: https://pptw.com/jishu/761370.html
