在 CentOS 中,nohup
命令本身不提供直接限制日志文件大小的功能
logrotate
工具:logrotate
是一个用于管理日志文件的工具,可以自动压缩、删除和分割日志文件。要使用 logrotate
限制日志文件大小,请按照以下步骤操作:
a. 安装 logrotate
(如果尚未安装):
sudo yum install logrotate
b. 创建一个 logrotate
配置文件,例如 /etc/logrotate.d/myapp
,并添加以下内容:
/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。
c. 确保 logrotate
定时任务已启用:
sudo systemctl enable logrotate
d. 手动运行 logrotate
以应用配置:
sudo logrotate /etc/logrotate.conf
split
命令:split
命令可以将大文件分割成多个小文件。要使用 split
限制日志文件大小,请按照以下步骤操作:
a. 使用 split
命令分割日志文件:
split -b 100M /path/to/your/logfile.log /path/to/your/logfile.log.part.
这里,-b 100M
表示每个分割后的日志文件大小为 100MB;/path/to/your/logfile.log.part.
表示分割后的文件名前缀。
b. 使用 nohup
和 tail -f
命令将应用程序的输出重定向到新的日志文件:
nohup your_command > /path/to/your/logfile.log.part.0 &
tail -f /path/to/your/logfile.log.part.*
这样,当日志文件达到 100MB 时,split
命令会自动创建一个新的日志文件,应用程序的输出将继续写入新的日志文件。请注意,这种方法可能需要额外的脚本或命令来管理日志文件的轮转和清理。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:nohup命令如何限制日志文件大小