Linux基础学习(九)
课程大纲
14.1 日志管理简介
14.2 rsyslogd日志服务
14.3 日志轮替
97.日志管理-简介
1、日志服务
在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。
rsyslogd日志服 务更加先进,功能更多。但是不论该服务 的使用,还是日志文件的格式其实都是和 syslogd服务相兼容的,所以学习起来基本 和syslogd服务一致。
rsyslogd的新特点:
- 基于TCP网络协议传输日志信息;
- 更安全的网络传输方式;
- 有日志消息的及时分析框架;
- 后台数据库;
- 配置文件中可以写简单的逻辑判断;
- 与syslog配置文件相兼容。
确定服务启动 [root@localhost ~]# ps aux | grep rsyslogd
#查看服务是否启动
chkconfig --list | grep rsyslog
#查看服务是否自启动
2、常见日志的作用
除了系统默认的日志之外,采用RPM方 式安装的系统服务也会默认把日志记录在 /var/log/目录中(源码包安装的服务日志 是在源码包指定目录中)。不过这些日志 不是由rsyslogd服务来记录和管理的,而 是各个服务使用自己的日志管理文档来记 录自身日志。
98.日志管理-rsyslogd服务
1、日志文件格式
基本日志格式包含以下四列:
- 事件产生的时间;
- 发生事件的服务器的主机名;
- 产生事件的服务名或程序名;
- 事件的具体信息。
2、/etc/rsyslog.conf配置文件
服务名称
连接符号
连接符号可以识别为:
- “*”代表所有日志等级,比如:“authpriv.*”代表authpriv认证信息服务产生 的日志,所有的日志等级都记录
- “.”代表只要比后面的等级高的(包含该等级)日志都记录 下来。比如:“cron.info”代表cron服务产生的日志,只要日 志等级大于等于info级别,就记录
- “ .=”代表只记录所需等级的日志,其他等级的都不记录。比 如:“*.=emerg”代表人和日志服务产生的日志,只要等级是 emerg等级就记录。这种用法及少见,了解就好
- “.!”代表不等于,也就是除了该等级的日志外,其他等级的 日志都记录
日志等级
日志记录位置
- 日志文件的绝对路径,如“/var/log/secure”
- 系统设备文件,如“/dev/lp0”
- 转发给远程主机,如“@192.168.0.210:514”
- 用户名,如“root” 忽略或丢弃日志,如“~”
99.日志管理-日志轮替
1、日志文件的命名规则
如果配置文件中拥有“dateext”参数,那 么日志会用日期来作为日志文件的后缀, 例如“secure-20130605”。这样的话日志 文件名不会重叠,所以也就不需要日志文 件的改名,只需要保存指定的日志个数, 删除多余的日志文件即可
如果配置文件中没有“dateext”参数,那么日 志文件就需要进行改名了。当第一次进行日志 轮替时,当前的“secure”日志会自动改名为 “secure.1”,然后新建“secure”日志,用来 保存新的日志。当第二次进行日志轮替时, “secure.1”会自动改名为“secure.2”,当前的 “secure”日志会自动改名为“secure.1”,然 后也会新建“secure”日志,用来保存新的日志 ,以此类推。
2、logrotate配置文件
3、把apache日志加入轮替
打开这个配置文件输入命令[root@localhost ~]# vi /etc/logrotate.conf
加入这句话 /usr/local/apache2/logs/access_log
{ daily create rotate 30 }access_log就是要备份的文件名字 括号里面写的代表的意思是每天记录,备份时创建新的,保留30天。
4、logrotate命令
[root@localhost ~]# logrotate [选项] 配置文件名
选项: 如果此命令没有选项,则会按照配置文件中的条件进行 日志轮替
- -v:显示日志轮替过程。加了-v选项,会显示日志的轮 替的过程
- -f: 强制进行日志轮替。不管日志轮替的条件是否已经 符合,强制配置文件中所有的日志进行轮替
课程大纲
15.1 CentOS 6.x启动管理
15.2 启动引导程序grub
15.3 系统修复模式
100.启动管理-启动流程-运行级别
1、运行级别
2、运行级别命令
[root@localhost ~]# runlevel
#查看运行级别命令
[root@localhost ~]# init 运行级别
#改变运行级别命令
3、系统默认运行级别
[root@localhost ~]# vim /etc/inittab id:3:initdefault:
#系统开机后直接进入哪个运行级别
101.启动管理-启动流程-启动过程
启动流程图
initramfs内存文件系统
CentOS 6.x中使用initramfs内存文件系统 取代了CentOS 5.x中的initrd RAM Disk。 他们的作用类似,可以通过启动引导程序 加载到内存中,然后加载启动过程中所需 要的内核模块,比如USB、SATA、SCSI 硬盘的驱动和LVM、RAID文件系统的驱 动
mkdir /tmp/initramfs #建立测试目录 cp /boot/initramfs-2.6.32-279.el6.i686.img /tmp/initramfs/ #复制initramfs文件 cd /tmp/initramfs/ file initramfs-2.6.32-279.el6.i686.img mv initramfs-2.6.32-279.el6.i686.img initramfs-2.6.32-279.el6.i686.img.gz #修改文件的后缀名为.gz gunzip initramfs-2.6.32-279.el6.i686.img.gz #解压缩 file initramfs-2.6.32-279.el6.i686.img cpio -ivcdu < initramfs-2.6.32-279.el6.i686.img #解压缩
调用/etc/init/rcS.conf配置文件
主要功能是两个:
先调用/etc/rc.d/rc.sysinit,然后由 /etc/rc.d/rc.sysinit配置文件进行Linux系统初 始化。
然后再调用/etc/inittab,然后由/etc/inittab配 置文件确定系统的默认运行级别
由/etc/rc.d/rc.sysinit初始化
1、获得网络环境
2、挂载设备
3、开机启动画面Plymouth(取替了过往的 RHGB)
4、判断是否启用SELinux
5、显示于开机过程中的欢迎画面
6、初始化硬件
7、用户自定义模块的加载
8、配置内核的参数
9、设置主机名
10、同步存储器 11、设备映射器及相关的初始化 12、初始化软件磁盘阵列(RAID) 13、初始化 LVM 的文件系统功能 14、检验磁盘文件系统(fsck) 15、设置磁盘配额(quota) 16、重新以可读写模式挂载系统磁盘 17、更新quota(非必要) 18、启动系统虚拟随机数生成器 19、配置机器(非必要) 20、清除开机过程当中的临时文件 21、创建ICE目录 22、启动交换分区(swap) 23、将开机信息写入/var/log/dmesg文件中
调用/etc/rc.d/rc文件
运行级别参数传入/etc/rc.d/rc这个脚本之 后,由这个脚本文件按照不同的运行级别 启动/etc/rc[0-6].d/目录中的相应的程序 /etc/rc3.d/k??开头的文件(??是数字),会 按照数字顺序依次关闭 /etc/rc3.d/S??开头的文件(??是数字),会 按照数字顺序依次启动
102.启动管理-启动引导程序-Grub配置文件
1、grub中分区表示
2、grub配置文件
vi /boot/grub/grub.conf
- default=0 默认启动第一个系统
- timeout=5 等待时间,默认是5秒
- splashimage=(hd0,0)/grub/splash.xpm.gz 这里是指定grub启动时的背景图像文件的保存位置的
- hiddenmenu 隐藏菜单
- title CentOS (2.6.32-279.el6.i686) title就是标题的意思
- root (hd0,0) 是指启动程序的保存分区
- kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet 定义内核加载时的选项
- initrd /initramfs-2.6.32-279.el6.i686.img 指定了initramfs内存文件系统镜像文件的所在位置
103.启动管理-启动引导程序-Grub加密
1、grub加密
[root@localhost ~]# grub-md5-crypt
#生成加密密码串
[root@localhost ~]# vi /boot/grub/grub.conf
default=0
timeout=5
password --md5 $1$Y84LB1$8tMY2PibScmuOCc8z8U35/
#password选项放在整体设置处。
splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu
…省略部分内容…
2、纯字符界面分辨率调整
grep "CONFIG_FRAMEBUFFER_CONSOLE" /boot/config-2.6.32-279.el6.i686
#查询内核是否支持分辨率修改
104.启动管理-系统修复模式
1、单用户模式
单用户模式常见的错误修复
- 遗忘root密码
- 修改系统默认运行级别
2、光盘修复模式
重要系统文件丢失,导致系统无法启动
3、Linux的安全性
105.备份与恢复-概述
1、Linux系统需要备份的数据
- /root/目录:
- /home/目录:
- /var/spool/mail/目录:
- /etc/目录:
- 其他目录:
安装服务的数据:
apache需要备份的数据
- 配置文件
- 网页主目录
- 日志文
mysql需要备份的数据
- 源码包安装的mysql:/usr/local/mysql/data/
- RPM包安装的mysql:/var/lib/mysql/
2、备份策略
完全备份:完全备份就是指把所有需要备 份的数据全部备份,当然完全备份可以备 份整块硬盘,整个分区或某个具体的目录
增量备份
差异备份
106.备份与恢复-备份命令
1、dump命令
[root@localhost ~]# dump [选项] 备份之后的文件名 原文件或目录
选项:
- -level: 就是我们说的0-9十个备份级别
- -f 文件名: 指定备份之后的文件名
- -u: 备份成功之后,把备份时间记录在/etc/dumpdates文件
- -v: 显示备份过程中更多的输出信息
- -j: 调用bzlib库压缩备份文件,其实就是把备份文件压缩 为.bz2格式,默认压缩等级是2
- -W: 显示允许被dump的分区的备份等级及备份时间
备份分区
dump -0uj -f /root/boot.bak.bz2 /boot/ #备份命令。先执行一次完全备份,并压缩和更新备份时间 cat /etc/dumpdates #查看备份时间文件 cp install.log /boot/ #复制日志文件到/boot分区 dump -1uj -f /root/boot.bak1.bz2 /boot/ #增量备份/boot分区,并压缩 dump –W #查询分区的备份时间及备份级别的
备份文件或目录
dump -0j -f /root/etc.dump.bz2 /etc/
#完全备份/etc/目录,只能使用0级别进行完全备份 ,而不再支持增量备份
2、restore命令
[root@localhost ~]# restore [模式选项][选项]
模式选项:restore命令常用的模式有以下四种,这四个模 式不能混用。
-C:比较备份数据和实际数据的变化
-i: 进入交互模式,手工选择需要恢复的文件。
-t: 查看模式,用于查看备份文件中拥有哪些数据。
-r: 还原模式,用于数据还原。
选项:
-f: 指定备份文件的文件名
比较备份数据和实际数据的变化
mv /boot/vmlinuz-2.6.32-279.el6.i686 /boot/vmlinuz-2.6.32- 279.el6.i686.bak
#把/boot目录中内核镜像文件改个名字
restore -C -f /root/boot.bak.bz2
#restore发现内核镜像文件丢失
查看模式
restore -t -f boot.bak.bz2
还原模式
#还原boot.bak.bz2分区备份 #先还原完全备份的数据 mkdir boot.test cd boot.test/ restore -r -f /root/boot.bak.bz2 #解压缩 restore -r -f /root/boot.bak1.bz2 #恢复增量备份数据
#还原/etc/目录的备份etc.dump.bz2
restore -r -f etc.dump.bz2
#还原etc.dump.bz2备份