平时不论是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系统的时候,常常会遇到系统日志文件很是大的状况,若是直接删除,会致使日志错误,再也不生成日志,这时,咱们可使用下面的方法清空日志。
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
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