使用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


浙公网安备 33010602011771号