nohup
命令用于在后台运行程序,即使关闭终端也不会中断
使用tee
命令将输出同时显示在屏幕和日志文件中:
nohup your_command | tee output.log
这样,你可以在屏幕上看到实时输出,同时所有输出也会被记录到output.log
文件中。
使用logrotate
工具自动管理日志文件大小和数量:
在/etc/logrotate.d/
目录下创建一个配置文件,例如your_command
,并添加以下内容:
/path/to/output.log {
size 10M
rotate 5
compress
missingok
notifempty
create 640 root adm
}
这将使得output.log
文件在达到10MB时自动分割,保留最近的5个分割文件,并对旧文件进行压缩。如果日志文件不存在,不会报错。如果日志文件为空,则不进行分割。
使用sed
、awk
等文本处理工具对输出进行过滤和格式化。例如,如果你只想记录包含特定关键字的行,可以使用以下命令:
nohup your_command | grep "keyword" >> output.log
使用cron
定时任务定期处理日志文件。例如,你可以使用cron
每晚清理一周前的日志文件:
0 0 * * 0 find /path/to/logs -name "*.log" -mtime +7 -exec rm {} \;
如果你的程序支持自定义日志格式,可以查阅相关文档,按照需要设置合适的日志格式。
通过这些方法,你可以优化nohup
日志的输出格式,使其更易于阅读和分析。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Linux spoon好用吗