很多时候,用nohup后台启动生成日志时,如果不进行分割,文件会越来越大,导致日志文件打开很慢,不方便问题的ji'shi定位和解决。
此文记录实际开发过程中,按照日期分割日志的操作步骤
一、首先写一个可执行的shell脚本,本次较为简单,建立一个名为nohup_log.sh,内容如下:
按日期
# !/bin/sh
# 拷贝日志文件到 昨天的log中
cp /usr/local/release/nohup.out /usr/local/release/logfile_`date -d yesterday +%Y%m%d`.log  
# 清空nohup.out 日志
cat /dev/null > /usr/local/release/nohup.out
按大小
# !/bin/sh
# 拷贝日志文件到 昨天的log中
split -b 100m -d -a 4 /usr/local/release/nohup.out /usr/local/release/logfile_`date -d yesterday +%Y%m%d`.log  
# 清空nohup.out 日志
cat /dev/null > /usr/local/release/nohup.out

二、先手动执行一下shell脚本
./nohup_log.sh
可能遇到的问题:
1、提示权限不够
解决办法:chmod 777 ./nohup_log.sh
2、提示“目标‘\r’不是目录”
解决办法: 用vim打开sh脚本文件, 重新设置文件的格式
:set ff 然后回车  再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车

三、加入定时任务
1、crontab -e
根据自己需要设置,定时执行的时间
#每5分钟执行一次
*/5 * * * *  /usr/local/release/nohup_log.sh
#每天
0 0 * * * /usr/local/release/nohup_log.sh
2、使定时任务生效
service crond restart

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐