磁盘空间清理
需要使用root账户,因为某些目录普通用户没有权限访问。
# 查看磁盘的使用情况,找到磁盘的挂载点
df -lh
# 查看当前目录下的文件或子目录占用的空间大小
du -sh *
# 对大文件清理释放空间不能直接删除文件,因为服务不重启,无法释放空间
# 将空字符写入到大文件中,覆盖文件中的内容可直接释放空间,无需重启服务
echo '' > ${file_name}
Linux日志管理
当使用的软件不支持日志策略配置的话,那么可以使用logrotate来定时切割日志文件。
以CentOS7.x为例,如下。
logrotate
安装logrotate
logrotate依赖于cron定时任务执行。
yum -y install logrotate crontabs
添加配置文件
以API GATEWAY Kong为例举例说明,虽然kong可以集成插件进行日志的收集,但是若使用“File Log”插件将日志打印在本地,那么无法根据一定的策略多日志进行管理,为此,我们使用logrotate来管理日志。
在/etc/logrotate.d/下新建一个文件定义日志切割策略,,如下:
vi /etc/logrotate.d/kong_access
/var/lib/docker/volumes/*/_data/logs_kong_access.log
{
daily
rotate 7
missingok
sharedscripts
dateext
compress
delaycompress
}
说明: 在文件中,先定义要做日志切割的日志文件的目录,然后在大括号内定义日志切割策略。
常用配置项
daily:按照天为周期对日志切割;
weekly:按照周为周期对日志切割;
monthly:按照月为周期对日志切割;
size ${size}:指定文件大小进行日志切割,例如:size 300m 指定300兆作为文件切割的大小;
rotate ${number}:日志最多保留几份;
missingok:对日志处理过程中出现的错误将被忽略;
sharedscripts:对logrotate的postrotate脚本在所有文件都被转存后统一执行一次,避免多次执行;
compress:使用gzip压缩文件;
nocompress :不压缩日志文件;
delaycompress:延迟压缩跟compress配合使用,文件压缩将在下一次日志切割轮询时执行;
dateext:转存的文件以文件名+日期的格式命名;
参考文档
[Linux日志文件总管——logrotate]
https://linux.cn/article-4126-1.html
[日志切割之Logrotate]
https://www.cnblogs.com/clsn/p/8428257.html
[被遗忘的Logrotate]
https://blog.huoding.com/2013/04/21/246
以上,如果有收获欢迎分享给你的朋友一起学习和讨论,也欢迎扫码关注公众号进击的极客。