linux日志 centos7日志文件过大 清空大文件 tomcat日志过大 catalina.out等

清空大文件

cat /dev/null > logfile
echo "" > catalina.out

定时没晚0点清理

0 0 * * * cat /dev/null > /home/bjmtr-website/.pm2/logs/api-out.log

一 基础

# 脚本
#!/bin/bash
timedatectl set-timezone Asia/Shanghai
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config # 修改ssh可以密码登录
systemctl restart rsyslog.service
systemctl restart sshd
vim /etc/rsyslog.conf
 
# Use default timestamp format
# 下一行是原来的配置,将它注释
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# 添加下面两行
$template CustomFormat,"%$NOW% %TIMESTAMP:8:15% %HOSTNAME% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate CustomFormat
 
然后重启 rsyslog 服务
systemctl restart rsyslog.service

一 手动清理

1、/var/log/secure 记录登录系统存取数据的文件(例如:pop3,ssh,telnet,ftp等都会记录在此);
2、/ar/log/btmp 记录登录信息记录,被编码过,所以必须以lastb解析;
lastb | awk ‘{ print $3}’ | sort | uniq -c | sort -nr | more
Copy
3、/var/log/message 几乎所有的开机系统发生的错误都会在此记录;
4、/var/log/boot.log 记录一些开机或者关机启动的一些服务显示的启动或者关闭的信息;
5、/var/log/maillog 记录邮件的存取和往来;
6、/var/log/cron 用来记录crontab(定时任务)这个服务的内容;
7、/var/log/lastlog 记录每个用户最后的登录信息;
8、/var/log/btmp 记录错误的登录尝试;
9、/var/log/dmesg 内核日志;
10、/var/log/yum.log 使用yum安装的软件包信息

Linux的文件系统比Windows的要优秀,不会产生碎片,对于长时间运行的服务器来说尤为重要,而且Linux系统本身也不会像Windows一样产生大量的垃圾文件。不知道这个说法有没有可信度!至少我们可以确定的是linux系统的文件系统是比较优秀的!
错误:
rm -f logfile
Copy
原因:
应用已经打开文件句柄,直接删除会造成:
1.应用无法正确释放日志文件和写入
2.显示磁盘空间未释放
正确方式:
cat /dev/null > logfile
#例:cat /dev/null > /var/log/messages
Copy
将以下代码保存为.sh后缀的脚本文件,再配合crontab即可实现定时清理日志;

#!/bin/sh
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/boot.log
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/cron
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/dmesg
cat /dev/null > /var/log/yum.log
————————————————
版权声明:本文为CSDN博主「数脉科技」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50314733/article/details/108662959

二 系统自动分割清理 # 很奇怪大数据的为什么不执行轮滚
/etc/logrotate.conf 是 Logrotate 工具的一个配置文件,这个工具用来自动切割系统日志,Logrotate 是基于 cron 来运行的,如下:

ls cron  # cron定期执行的一些任务
# cron.d/       cron.daily/   cron.deny     cron.hourly/  cron.monthly/ crontab       cron.weekly/
ls cron.daily/   # cron下面确实有很多任务
# logrotate  man-db.cron

cat /etc/cron.daily/logrotate # 每天运行的 cron任务


#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

实际运行时,Logrotate 会调用配置文件 /etc/logrotate.conf ,默认的配置如下:

[root@localhost ~]$ cat /etc/logrotate.conf

weekly # 每周切割一次
rotate 4 # 只保留四份文件
create # 切割后会创建一个新的文件
dateext # 指定切割文件的后缀名,这里以日期为后缀名
include /etc/logrotate.d # 包含其他配置文件的目录

/var/log/wtmp { # 对哪个文件进行切割
monthly # 每个月切割一次
create 0664 root utmp # 指定创建的新文件的权限,属主,属组
minsize 1M # 文件容量超过这个值时才进行切割
rotate 1 # 只保留一份文件
}

/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值