失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux centos7清除系统日志 历史记录 登录信息

linux centos7清除系统日志 历史记录 登录信息

时间:2020-09-04 22:25:24

相关推荐

linux centos7清除系统日志 历史记录 登录信息

平时不管是web还是系统产生的日志都可能导致洗盘爆满,所以我在这里分享一些基本常用清理linux日志的方法。

# echo > /var/log/wtmp //清除用户登录记录# echo > /var/log/btmp //清除尝试登录记录# echo>/var/log/lastlog //清除最近登录信息# echo > /var/log/secure //登录信息# echo > /var/log/messages# echo>/var/log/syslog //记录系统日志的服务# echo>/var/log/xferlog# echo>/var/log/auth.log# echo>/var/log/user.log# cat /dev/null > /var/adm/sylog# cat /dev/null > /var/log/maillog# cat /dev/null > /var/log/openwebmail.log# cat /dev/null > /var/log/mail.info# echo>/var/run/utmp

清除操作过的命令记录

# echo > .bash_history //清除保存的用户操作历史记录# history -cw //清除所有历史Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如

[root@servyou_web ~]# history | more

./test.sh

vim test.sh

./test.sh

但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间。

通过设置环境变量 export HISTTIMEFORMAT="%F %Twhoami" 给history加上时间戳

[root@servyou_web ~]# export HISTTIMEFORMAT="%F %Twhoami"

[root@servyou_web ~]# history | tail

-06-22 19:17:29 root 15 -06-22 19:13:02 root ./test.sh

-06-22 19:17:29 root 16 -06-22 19:13:02 root vim test.sh

-06-22 19:17:29 root 17 -06-22 19:13:02 root ./test.sh

-06-22 19:17:29 root 18 -06-22 19:13:02 root vim test.sh

-06-22 19:17:29 root 19 -06-22 19:13:02 root ./test.sh

-06-22 19:17:29 root 20 -06-22 19:13:02 root vim test.sh

-06-22 19:17:29 root 21 -06-22 19:13:02 root ./test.sh

-06-22 19:17:29 root 22 -06-22 19:13:02 root vim test.sh

-06-22 19:25:22 root 22 -06-22 19:13:02 root vim test.sh

-06-22 19:25:28 root history | tail

可以看到,历史命令的时间戳已经加上了,但是.bash_history里并没有加上这个时间戳。其实这个时间记录是保存在当前shell进程内存里的,如果你logout并且重新登录的话会发现你上次登录时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。

尽管如此,对于加上screen的bash来说,这个时间戳仍然可以长时间有效的,毕竟只要你的server不重启,screen就不会退出,因而这些时间就能长时间保留。你也可以使用echo 'export HISTTIMEFORMAT="%F %Twhoami"' >> /etc/profile 然后source一下就OK

例二: vi /root/.bash_history

例三:

1、修改/etc/profile将HISTSIZE=1000改成0或1

清除用户home路径下。bash_history

2、立即清空里的history当前历史命令的记录

history -c

3、bash执行命令时不是马上把命令名称写入history文件的,而是存放在内部的buffer中,等bash退出时会一并写入。

不过,可以调用'history -w'命令要求bash立即更新history文件。

history -w

centos下定时清理系统各种日志脚本

进入root用户

su - root

创建脚本文件

vimcleanLog.sh

增加执行权限

chmod +xcleanLog.sh

按需添加或修改如下内容:

#!/bin/bash

echo “开始清除日志文件”

sed -i ‘1,50d’ /var/log/cron #清除定时任务记录

sed -i ‘1,50d’ /var/log/xferlog #清除ftp记录

sed -i ‘1,50’ /var/log/mariadb/mariadb.log #清除数据库日志

sed -i ‘1,50d’ /var/log/secure #清除sshd信息

sed -i ‘1,50d’ /var/log/firewalld

sed -i ‘1,50d’ /var/log/httpd/access_log

sed -i ‘1,50d’ /var/log/httpd/ssl_access_log

sed -i ‘1,50d’ /var/log/httpd/ssl_error_log

sed -i ‘1,50d’ /var/log/httpd/ssl_request_log

sed -i ‘1,50d’ /var/log/messages #清除系统开机发生的错误

sed -i ‘1,50d’ /var/log/tuned/tuned.log

sed -i ‘1,50d’ /var/log/hawkey.log

sed -i ‘1,50d’ /var/log/yum.log

sed -i ‘1,50d’ /var/log/dnf.log

sed -i ‘1,50d’ /var/log/dnf.rpm.log

sed -i ‘1,50d’ /var/log/ntp.log

sed -i ‘1,50d’ /var/log/audit/audit.log

history -c #清除历史执行命令

echo > /var/log/wtmp #清除系统登录成功的记录

echo > /var/log/btmp #清除系统登录失败的记录

echo > /var/log/lastlog

rm -fr /var/log/boot.log-* /var/log/btmp-* /var/log/cron-* /var/log/maillog-* /var/log/messages-* /var/log/secure-* /var/log/spooler-* /var/log/xferlog-* /var/log/messages-* /var/log/multi-nic-util/*

rm -fr /var/log/httpd/access_log-* /var/log/httpd/error_log-* /var/log/httpd/ssl_access_log-* /var/log/httpd/ssl_error_log-* /var/log/httpd/ssl_request_log-*

注解:sed命令,清除前50行内容

echo命令清空日志内容

rm命令删除后缀以日期命名的日志文件

注意:以上日志清理并没有导致系统或者其他服务出错,但是部分日志文件最好不要删除,最好百度一下那个日志文件是用来干嘛的

设置定时任务:

crontab -e

设置每20天清理一次(日志清理太频繁不方便以后按日志排错)

0 0 */20 * * ./cleanLog.sh

保存退出

CentOS系统清空删除系统日志的方法

使用CentOS系统的时候,经常会遇到系统日志文件非常大的情况,如果直接删除,会导致日志错误,不再生成日志,这时,我们可以使用下面的方法清空日志。

CentOS 6系统

cat/dev/null>/var/log/boot.logcat/dev/null>/var/log/btmpcat/dev/null>/var/log/croncat/dev/null>/var/log/dmesgcat/dev/null>/var/log/dracut.logcat/dev/null>/var/log/lastlogcat/dev/null>/var/log/maillogcat/dev/null>/var/log/messagescat/dev/null>/var/log/securecat/dev/null>/var/log/spoolercat/dev/null>/var/log/tallylogcat/dev/null>/var/log/wtmpcat/dev/null>/var/log/yum.log

CentOS 7系统

cat/dev/null>/var/log/boot.logcat/dev/null>/var/log/btmpcat/dev/null>/var/log/croncat/dev/null>/var/log/dmesgcat/dev/null>/var/log/firewalldcat/dev/null>/var/log/grubbycat/dev/null>/var/log/lastlogcat/dev/null>/var/log/mail.infocat/dev/null>/var/log/maillogcat/dev/null>/var/log/messagescat/dev/null>/var/log/securecat/dev/null>/var/log/spoolercat/dev/null>/var/log/syslogcat/dev/null>/var/log/tallylogcat/dev/null>/var/log/wpa_supplicant.logcat/dev/null>/var/log/wtmpcat/dev/null>/var/log/yum.log

如果觉得《linux centos7清除系统日志 历史记录 登录信息》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。