本篇介绍linux日志管理、内核升级、数据备份与恢复的相关内容。
linux系统文件结构:
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件
/dev 存放设备文件
/etc 存放系统配置文件
/home 普通用户的宿主目录,用户数据存放在其主目录中lib 存放必要 的运行库
/mnt 存放临时的映射文件系统,通常用来挂载使用
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档。
/var 系统默认日志存放目录录
日志管理
rsyslogd日志管理服务,配置文件/etc/rsyslog.conf,各日志文件有:
/var/log/boot.log系统启动日志
/var/log/cron记录定时任务
/var/log/lastlog记录最后一次登录信息
/var/log/message记录系统重要信息
/var/log/secure记录验证授权信息
/var/log/wtmp和/var/log/btmp 记录登录和失败登录信息
/var/tuned/ulmp/记录当前登录用户的信息
日志类型
auth #pam产生的日志
authpriv #ssh\ftp等登录产生的日志
cron #时间任务
kern #内核
lpr #打印
mail #邮件
mark #服务内部信息
user #用户程序信息
uucp #主机通信
local 1-7 #自定义设备
日志级别
由低到高:
debug 调试信息
info 一般信息
notice 重要信息
warning 警告
err 错误
crit 严重错误
alert 修改
emerge 内核崩溃
none 不记录
日志轮替
创建新的日志文件,删除旧的日志,日志轮替配置文件/etc/logrotate.conf。日志轮替依赖于系统定时任务,在/etc/cron.daily/目录下有logrotate可执行文件。
keep 4 weeks worth of backlogs
rotate 4
#共保存 4 份日志文件,当建立新的日志文件时,旧的将会被删。
use date as a suffix of the rotated file
dateext
#以日期为后缀
自定义日志轮替
自定义日志轮替规则,如:
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
1)直接在/etc/logrotate.conf中写入该日志轮替规则。
2)在/etc/logrotate.d/目录中建立新的日志文件,在文件中写入轮替策略。
参数说明:
daily,每天轮替
weekly,每周轮替
monthly , 每月轮替
rotate 数字, 保留日志文件个数
compress ,轮替时对旧的日志压缩
create mode owner group , 创建新日志时指定权限所有者所在组
mail address ,日志轮替时输出内容到指定邮件地址
missingok , 若日志不存在则忽略该日志警告
notifepmty , 若日志为空则不轮替
minsize 大小 ,日志大小达到最小值才会轮替
size 大小,日志只有大于指定大小才进行轮替
dateext ,使用日期作为日志文件后缀
sharedscripts, 在此关键字后脚本只执行一次
prerotate/endscript,在日志轮替之前执行脚本
postrotate/endscript ,在日志轮替之后执行脚本
内存日志
journalctl 查看内存日志
journalctl -n 3,查看最近3条
journalctl –since 1:00 –until 1:30 ,查看某时间段日志
journalctl -p err,查看报错日志
journalctl -o verbose ,查看详细信息
journalctl _PID=xxx _COMM=sshd ,查看带某参数信息的日志
journalctl | grep sshd
内核升级
将linux系统的内核升级到兼容的版本
uname -a
:查看当前内核
yum info kernel -q
:检测内核版本
yum update kernel
:升级内核
yum list kernel -q
:查看已安装的内核
数据备份和恢复
2种方式:
1)把需要的文件用tar打包
2)dump和restore指令
若没有两个指令需要安装
yum -y install dump
yum -y install restore
dump
分区备份,增量备份,备份上次增加或修改过的文件
dump -cu -[123456789] -f 备份后的文件 -T 日期 [目录或文件系统]
参数说明:
-c,创建新的备份文件
-[0,1,2,3,4,5,6,7,8,9],备份的层级,0为完整备份,0以上则备份上次修改或新增的文件,9以后再次轮替。
-f,指定备份后的文件名
-j,使用bizlib库压缩
-T,指定开始备份的时间和日期
-u,备份后在/etc/dumpdares中记录备份的文件系统,层级、日期时间
-t,指定文件名,若文件已备份则列出名称
-W,显示需要备份的文件及最后一次备份的层级时间
-w,只显示需要备份的文件
查看备份时间文件:cat /etc/dumpdates
应用案例:
案例1:将/boot分区所有内容备份到/opt/boot.bak.bz2文件中,备份的层级为0
dump -0uj -f /opt/boot.bak.bz2 /boot/
案例2:在/boot下创建一个新的文件hello.txt,增量备份,备份层级为1
vi hello.txt
dump -1uj -f /opt/boot.bak1.bz2 /boot/
注意,dump不支持文件和目录的增量备份,只能0级备份
例:备份/etc目录到/opt/etc.bak.bz2
dump -0j -f /opt/etc.bak.bz2 /etc/
restore
恢复dump备份的数据文件。
restore [模式mode] [选项option]
首先指定一种模式执行,-C
对比,-i
交互,-r
还原,-t
查看文件。
选项:-f 备份文件,从dump备份文件中读取数据。
案例1:比较备份文件和原文件
restore -C -f /opt/boot.bak.bz2
案例2:查看备份了那些文件
restore -t -f /opt/boot.bak.bz2
案例3:还原备份文件/opt/boot.bak0.bz2到/opt/boottmp/下
mkdir /opt/boottmp
cd /opt/boottmp
#恢复到第一次完全备份状态
restore -r -f /opt/boot.bak0.bz2
#若有增量备份文件boot.bak1.bz2则需要进行恢复,有几个恢复几个
restore -r -f /opt/boot.bak1.bz2
可视化管理
bt宝塔可视化管理面板可以帮助运维人员提高效率,支持一键安装集群和数据库。
安装:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装成功后显示用户名和密码。
权限安全
尽量使用普通用户登录服务器,执行root命令时使用sudo操作。对于重要的系统文件可以进行锁定,chattr +i /etc/passwd
,使自己和他人无法操作文件。
使用SUID、SGID、Sticky设置特殊权限
使用chkrootkit/rootkit hunter工具检查系统文件是否被修改或异常,监测root脚本,下载地址chkrootkit.org。
使用Tripwire检测系统文件完整性。
IO读写监控
iotop可以监控磁盘读写情况,首先安装iotop,yum install iotop,iotop。