清空大文件
cat /dev/null > logfile
echo "" > catalina.out
一 基础
timedatectl set-timezone Asia/Shanghai
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart rsyslog.service
systemctl restart sshd
vim /etc/rsyslog.conf
$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
ls cron.daily/
cat /etc/cron.daily/logrotate # 每天运行的 cron任务
/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
}