定期修改密码
cd /etc
lsattr passwd shadow
如果这2文件有带i属性, 则表示无法修改, 用下面命令去掉
chattr -i passwd shadow
然后是修改密码命令
passwd
输入新密码: ******
再次输入: ******
修改成功, 把2个文件加上i属性防止被窜改
chattr +i passwd shadow
定期清理磁盘空间
通用方法, 删除指定目录7天前的文件
find /appLog -type f -mtime +7 -exec rm {} \;
也或以针对nginx, tomcat处理
其中大都是由于nginx, tomcat的日志积压
1. 定期检查目录里的文件夹大小
进入目标目录
cd /slc/web-file/lizhiwei/APP
查看各目录磁盘空间占用, 把所有目录(包括子目录)都显示出来
du -h
子目录太多看着烦, 只显示1级目录就行了
du -h --max-depth=1
然后挑大的进去删除日志
2. 切割日志
1.tomcat采用 cronolog 从程序上把日志按天分切割
2.nginx采用crontab执行自己写的sh, 定时每天23:59分定时执行
三. 历史日志
tomcat 可以采用logback, 直接在配置上设置历史日志压缩及最近7天
<!-- 日志文件每天生成,保留30天的日志文件,防止日志打爆磁盘 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>30</maxHistory>
<!--日志文件最大占用空间,防止日志打爆磁盘 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
方法一:tomcat使用shell切割日志
cd /yf-weloop-rawdata/apache-tomcat-7.0.73/bin
d=`date --date='0 days ago' +%Y-%m-%d`
d7=`date -d'7 day ago' +%Y-%m-%d`
echo '-----'
echo 'tomcat catalina.out log backup start'
echo 'system time: '`date`
echo 'current date: '${d}
echo 'next 7 days: '${d7}
cd ../logs/
echo 'copy catalina.out to catalina.out.'${d}
cp catalina.out catalina.out.${d}
echo 'clear catalina.out'
#这样直接把文件 ""> 的方法, 仅在redcap有效, 在centos使用, 后面的内容不会追加
echo "" > catalina.out
echo "rm catalina.out -7d before: catalina.out.${d7}"
if [ -a "catalina.out.${d7}" ]; then
rm -rf catalina.out.${d7}
echo 'rm catalina.out.'${d7}' success'
else
echo 'rm catalina.out.'${d7}' failure, it''s not existx'
fi
echo 'tomcat catalina.out log backup end'
echo '-----'
方法二:tomcat自身catalina.out的切割
step 1:
touch "$CATALINA_OUT"
改
#touch "$CATALINA_OUT"
step 2:
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
改
org.apache.catalina.startup.Bootstrap "$@" start 2>1 \
| cronolog "$CATALINA_OUT.%Y%m%d" >> /dev/null &
step 3:
在else下面的语句同step 2
效果
nginx 则需要自己写sh, 删除指定30天前的日志
#nx 日志文件所在的目录
LOGS_PATH=/usr/local/nginx/logs
## 获取昨天的 yyyy-MM-dd
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
## 移动文件
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
echo $(date +%Y-%m-%d" "%H:%M:%S) 保存昨天的日志文件 >> ${LOGS_PATH}/cut-log.log
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
echo $(date +%Y-%m-%d" "%H:%M:%S) 通知nginx重写日志 >> ${LOGS_PATH}/cut-log.log
## 删除15天前的日志
rm -f ${LOGS_PATH}/access_$(date -d "10 day ago" +%Y%m%d).log
rm -f ${LOGS_PATH}/error_$(date -d "10 day ago" +%Y%m%d).log
echo $(date +%Y-%m-%d" "%H:%M:%S) 删除15天前的日志:access_$(date -d "10 day ago" +%Y%m%d).log >> ${LOGS_PATH}/cut-log.log
echo $(date +%Y-%m-%d" "%H:%M:%S) 删除15天前的日志:error_$(date -d "10 day ago" +%Y%m%d).log >> ${LOGS_PATH}/cut-log.log
查看并发,连接数, 通过端口号
一般tomcat是8080
netstat -na | grep ESTAB | grep 8080 | wc -l
一般nginx是80
netstat -na | grep ESTAB | grep 80 | wc -l
文件排序, 日志数据处理分析
cat lizw.10.log |awk -F, '{print $(NF)}' > lizw.10-1.log
把日志里每行的最后一列打印到新的文件
-F, 以","作为分隔符
$(NF), 倒数第1列, 如果是$(NF-1), 则是倒数第2列
sort -u lizw.10.log > lizw.10.u.log
文件去重, 相同的行只留唯一
sort -nk 2 -t: lizw.10.u.log > lizw.10.sun.log
-nk 2 按数值排序, 以第2列为准
-t: 以":"作为列的分隔符
10进制<->16进制
10->16
printf "%x\n" 2579728
输出:275d10
16->10
printf "%d\n" 0x275d10
输出:2579728
筛选文件里匹配关键字的行
cat access.log.20170713|grep "deviceId"
筛选文件里匹配关键字的行里的内部 (-o)
cat access.log.20170713|grep -o "deviceId\":\w\{1,10\}"
或 标准正则表达式写法 (-P)
cat access.log.20170713|grep -oP "deviceId\":\d{1,10}"
- 大小: 179 KB
分享到:
相关推荐
Linux运维自动化运维脚本.zip,自动化运维脚本 介绍 Linux系统运维中各种一键脚本 使用教程 openssh一键升级脚本,支持centos6、centos7、centos8。 Linux运维自动化运维脚本.zip,自动化运维脚本 介绍 Linux系统...
Linux运维趋势_第0期_运维自动化 Linux运维趋势_第1期_监控与报警 Linux运维趋势_第2期_可用性 Linux运维趋势_第3期_运维与开发 Linux运维趋势_第4期_性能瓶颈 Linux运维趋势_第5期_内网开发环境 Linux运维趋势_第6...
Linux运维Linux运维Linux运维Linux运维Linux运维Linux运维Linux运维Linux运维Linux运维
Linux运维故障锦集
很实用的几款运维工具,推荐给大家!本文主要介绍几款 Linux 运维比较实用的工具,希望对 Linux 运维人员有所帮助。
Linux运维工程师简历项目经验【最新版】.docxLinux运维工程师简历项目经验【最新版】.docxLinux运维工程师简历项目经验【最新版】.docxLinux运维工程师简历项目经验【最新版】.docxLinux运维工程师简历项目经验...
《Linux运维之道》将围绕 Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本 Linux操作系统以及各种软件服务的运维工作。
Linux运维之道 第2版 ,高清完整版带书签。个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
Linux运维就业班+Linux架构班 Linux零基础到运维架构大神
Linux运维实战:CentOS76操作系统从入门到精通.docx
跟老男孩学Linux运维:Shell编程实战 PDF跟老男孩学Linux运维:Shell编程实战 PDF
今天给大家介绍一款Linux运维监控工具 ——wgcloud,功能非常强大,完全开源! wgcloud支持显示CPU利用率、CPU温度、内存利用率、磁盘容量、磁盘IO、硬盘智能健康状态、系统负载、连接数、网卡流量、硬件系统信息等...
linux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdflinux运维简历模板.pdf
本文件涵盖了《Linux运维趋势》从第0期到第24期(包括特刊)的所有内容,希望对您有所帮助,让《Linux运维趋势合集》陪您一起跨年吧~! 微群讨论:http://q.weibo.com/121303 内容审阅组QQ群:262025049 邮件订阅...
Linux运维基础实战案例及网络配置,帮你迅速进入工作与学习状态
linux 运维之道PDF,有需要的同学可以下载来看看。