清除 SSH 登录记录
SSH 登录日志以二进制方式存储在下面文件内,需要使用对应命令查看,不然会显示乱码。
日志文件 | 查看命令 | 日志内容 |
---|---|---|
/var/log/wtmp | last | 登录成功日志,包含用户名、IP 地址和时间记录 |
/var/log/btmp | lastb | 登录失败日志,包含信息同上 |
/var/log/lastlog | lastlog | 各用户的最近登录日志 |
/var/log/secure | 用cat查看 | 各类需要输入口令的登录日志 |
清除 SSH 登录日志使用下面命令。
cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/btmp cat /dev/null > /var/log/lastlog cat /dev/null > /var/log/secure
清除 Bash 历史命令
Bash 执行过的命令存在用户目录下的 .bash_history 文件里,用 history 命令查看。
清除所有历史命令记录,并立即更新日志文件。
history -c && history -w && poweroff
如果只需清除当前会话用过的命令记录,用 history -r 命令清除。
删除重复软件包
先安装 yum-utils 软件。
yum -y install yum-utils
列出所有重复的软件包。
package-cleanup --dupes
删除重复软件包,过程中需确认操作。
package-cleanup --cleandupes
清除 YUM 缓存
用法一:清除已启用软件仓库里的所有类型缓存。
yum clean all
延伸:Ubuntu / Debian 用 apt-get clean 命令清除缓存,还可用 apt-get autoremove 清除重复多余软件包。
用法二:添加 --enablerepo='*' 选项临时清除禁用状态的软件仓库缓存。
yum --enablerepo='*' clean all
用法三:清除指定类型 YUM 缓存。
命令 | 作用 |
---|---|
yum clean expire-cache | 清除元数据和镜像列表的获取时间,使下次使用 YUM 时重新验证缓存。如果缓存数据仍有效,则不会删除任何重要数据。 |
yum clean packages | 清除缓存目录下的软件包。 |
yum clean headers | 清除旧版 YUM 用来确认软件包依赖关系的文件,在下次运行 YUM 时重新下载。 |
yum clean metadata | 清除 YUM 用于确认软件包远程可用性的文件,在下次运行 YUM 时重新下载。 |
yum clean dbcache | 清除加速元数据访问的 sqlite 缓存,下次运行时重新创建(注:不适用仅包含 .xml 数据的软件仓库,其清除后不会重新创建)。 |
yum clean rpmdb | 清除任何本地 rpmdb 中的缓存数据。 |
yum clean plugins | 清除已启用 YUM 插件的缓存数据。 |
上述列表中的 expire-cache 是较温和选项,可以用来替代 clean all。 |
清除系统日志文件
已排除上面提到的日志文件。其中 /var/log/messages 是重要日志文件,记录了几乎所有系统错误及重要的相关信息。如果系统出了问题,该文件是经常要检查的项目之一。
cat /dev/null > /var/log/boot.log cat /dev/null > /var/log/cron cat /dev/null > /var/log/dmesg cat /dev/null > /var/log/firewalld cat /dev/null > /var/log/maillog cat /dev/null > /var/log/messages cat /dev/null > /var/log/spooler cat /dev/null > /var/log/syslog cat /dev/null > /var/log/tallylog cat /dev/null > /var/log/yum.log
关于系统日志文件的路径设置可以查看 /etc/rsyslog.conf 文件,CentOS 旧版本则是 /etc/syslog.conf。
释放内存缓存
内存缓存分 Page Cache 和 Buffer Cache。前者从硬盘读取的文件缓存,譬如 find 查找文件首次速度慢,而后就变快了。后者是 slab 分配器中的对象(Dentry 缓存、Inode 缓存)。为避免清除缓存引发可能的内存 Buffer 数据丢失,清除前先运行 sync 命令使数据写到硬盘。
下面命令将同时清除两种类型缓存。如要选择性清除替换其中数字,1 表示 Page Cache,2表示 Buffer Cache。
sync && echo 3 > /proc/sys/vm/drop_caches
用 free -h 命令检查运行前后的内存 buff/cache 用量,available 表示剩余可用容量。
可以 crontab -e 添加定时释放内存缓存任务。例如每天凌晨 4 点运行一次。
0 4 * * * sync && echo 3 > /proc/sys/vm/drop_caches