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

平时不论是web仍是系统产生的日志均可能致使洗盘爆满,因此我在这里分享一些基本经常使用清理linux日志的方法。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

清除操做过的命令记录web

# echo > .bash_history //清除保存的用户操做历史记录
# history -cw //清除全部历史

    Linux查看History记录加时间戳小技巧  
熟悉bash的都必定知道使用history能够输出你曾经输入过的历史命令,例如

[root@servyou_web ~]# history | more
./test.sh
vim test.sh
./test.sh
可是这里只显示了命令,并无显示执行命令的时间,由于保存历史命令的~/.bash_history里并无保存时间。shell

经过设置环境变量 export HISTTIMEFORMAT="%F %T whoami " 给history加上时间戳数据库

[root@servyou_web ~]# export HISTTIMEFORMAT="%F %T whoami "
[root@servyou_web ~]# history | tail
2011-06-22 19:17:29 root 15 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 16 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 17 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 18 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 19 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 20 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 21 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 22 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:25:22 root 22 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:25:28 root history | tailvim

能够看到,历史命令的时间戳已经加上了,可是.bash_history里并无加上这个时间戳。其实这个时间记录是保存在当前shell进程内存里的,若是你logout而且从新登陆的话会发现你上次登陆时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。centos

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

例二: vi /root/.bash_historyssh

例三:日志

 一、修改/etc/profile将HISTSIZE=1000改为0或1code

  清除用户home路径下。bash_history

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

  history -c

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

  不过,能够调用'history -w'命令要求bash当即更新history文件。

  history -w

 

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

进入root用户

su - root
建立脚本文件

vim cleanLog.sh
增长执行权限

chmod +x cleanLog.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.log
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/cron
cat /dev/null > /var/log/dmesg
cat /dev/null > /var/log/dracut.log
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/spooler
cat /dev/null > /var/log/tallylog
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/yum.log

CentOS 7系统

cat /dev/null > /var/log/boot.log
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/cron
cat /dev/null > /var/log/dmesg
cat /dev/null > /var/log/firewalld
cat /dev/null > /var/log/grubby
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/mail.info
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/spooler
cat /dev/null > /var/log/syslog
cat /dev/null > /var/log/tallylog
cat /dev/null > /var/log/wpa_supplicant.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/yum.log