1.每天开始拷贝日志作为前一天的日志备份,然后把当前日志清空
crontab -e
增加:
0 0 * * * cp /dirname/logfile.log /bakdir/logfile.`date -d yesterday +%Y%m%d`.log; cat /dev/null > /dirname/logfile.log
2.每周日凌晨1:00打包、删除文件:
0 1 * * 0 cd /bakdir; find ./ +mtime 7 -exec tar cvf logfile.`date -d yesterday +%Y%U`.tar {} \; ;find ./ -mtime 91 -exec rm -f {} \;
在脚本nohup设置每天开始拷贝日志作为前一天的日志备份,然后把当前日志清空即可,代码如下:
crontab -e //增加: 0 0 * * * cp /dirname/logfile.log /bakdir/logfile.`date -d yesterday +%Y%m%d`.log; cat /dev/null > /dirname/logfile.log //每周日凌晨1:00打包、删除文件: 0 1 * * 0 cd /bakdir; find ./ +mtime 7 -exec tar cvf logfile.`date -d yesterday +%Y%U`.tar {} \; ;find ./ -mtime 91 -exec rm -f {} \;
通常使用linux服务器,我们都是需要在使用nohup模式不挂断地运行命令。最近发现服务器磁盘空间满了,查了半天发现原来nohup.out文件原来达到了1.5g,运行了一年1.5g的日志其实也不算打,可是我的服务器出去安装程序,可用空间总共不到5g。由此可见,nohup.out文件是一直增量存在的,重启weblogic后,nohup.out文件内容并不会清除,会继续写下去。
如果weblogic服务是关闭的,我们可以直接删除nohup.out文件,但是如果服务器正在运行,而又不能现在关闭,我们可以使用cp /dev/null nohup.out命令来将日志清除,且不影响服务的运行。
如果磁盘空间不允许的话,需要定时清理日志,可以使用crontab命令来添加定时任务,定时进行清理。