使用nohup部署项目按1日期分割日志文件

问题描述

直接使用nohup方式启动jar包进行部署,随着时间推移,nohup日志文件会越来越大,不方便查找原因。

nohup java -jar text.jar >log.txt 2>&1 &

解决方案

  • 添加一个定时任务,每天复制一次日志文件到一个新的文件中,然后清除日志文件。

创建定时任务脚本

log.sh

# 拷贝日志文件到 昨天的log中
cp /root/pdu/admin/log.txt         /root/pdu/admin/logs/logfile.`date -d yesterday +%Y%m%d`.log  
# 清空nohup.out 日志
cat /dev/null > /root/pdu/admin/log.txt 

先手动执行下sh文件

./log.sh

对脚本授权

chmod u+x log.sh
# chmod 777 ./log.sh

提示“目标‘\r’不是目录”

原因分析: 在linux终端下,输出\r会什么都不显示,只是把光标移到行首.

解决办法: 用vim打开sh脚本文件, 重新设置文件的格式

:set ff 然后回车  再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车

加入定时器

# 定时器
crontab -e

# 输入定时任务

#每5分钟执行一次
*/5 * * * *  /usr/local/release/nohup_logfile.sh

#每天
0 0 * * * /usr/local/release/nohup_logfile.sh

# 查看定时任务
crontab -l

# 使定时任务生效
service crond restart

posted @ 2022-03-17 13:39  初夏那片海  阅读(861)  评论(0)    收藏  举报