Linux学习(七)日志、备份和启动管理
来源:互联网 发布:蓝光 刻录 数据 编辑:程序博客网 时间:2024/06/02 07:01
日志管理
1、日志管理简介
1.1、日志服务
在CentOS6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。rsyslogd日志服务更加先进,功能更多。该服务的使用和日志文件的格式都和syslogd服务相兼容。
- rsyslogd的新特点:
- 基于TCP网络协议传输日志信息;
- 更安全的网络传输方式;
- 有日志消息的及时分析框架;
- 后台数据库;
- 配置文件中可以写简单的逻辑判断;
- 与syslog配置文件相兼容
确定服务启动
#查看服务是否启动[root@localhost ~]# ps aux | grep rsyslogd#查看服务是否自启动[root@localhost ~]# chkconfig --list | grep rsyslog
1.2、常见日志的作用
除了系统默认的日志之外,采用RPM方式按照的系统服务也会默认把日志记录在/var/log/目录中(源码包安装的服务日志是在源码包指定目录中)。这些日志不是由rsyslogd服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身日志。
常见的有(如果安装了该软件):
2、rsyslogd日志服务
2.1、日志文件格式
- 基本日志格式包含以下4列:
- 事件产生的时间
- 发生事件的服务器的主机名
- 产生事件的服务名或程序名
- 事件的具体信息
2.2、/etc/rsyslog.conf配置文件
authpriv.* /var/log/secure#服务名称[连接符号] 日志等级 日志记录位置#认证相关服务 所有日志等级 记录在/var/log/secure日志中
连接符号可以为:
- “
*
”代表所有日志等级,比如:“authpriv.*”代表authpriv认证信息服务产生的日志,所有日志等级都记录 - “.”代表只要比后面的等级高的(包含该等级)日志都记录,比如:“cron.info”代表cron服务产生的日志,只要日志邓毅大于info级别,都记录
- “.=”代表只记录所需等级的日志,其它等级的都不记录。比如:“*.=emerg”代表人和日志服务产生的日志,只要等级是emerg等级就记录。这种用户较少用。
- “.!” 代表不等于,就是出来该等级的日志外,其它等级的日志都记录。
日志记录位置
- 日志文件的绝对路径,如“/var/log/srcure”
- 系统设备文件,如“/dev/lp0”
- 转发给远程主机,如“@192.168.134.10:514”
- 用户名,如“root”
- 忽略或丢弃日志,如“~”
3、日志轮替
3.1、日志文件的命名规则
- 如果配置文件中拥有“dateext”参数,那么日志会用日期作为日志文件的后缀,例如“tomcat-20170902”,日志文件名不会重复,也不需要日志文件改名,只需要保存指定的日志个数,删除多个的日志文件即可。
- 如果配置文件中没有“dateext”参数,那么日志文件就需要进行改名。当第一次进行日志轮替时,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志,用户保存新的日志。当第二次进行日志轮替时,“srcure.1”会自动改名为“secure.2”,当前的“secure”日志会自动改名为“secure.1”,然后也会新建“secure”日志,用来保存新的日志,以此类推。
3.2、logrotate配置文件
3.3、示例:把nginx日志加入轮替
vim /etc/logrotate.conf #编辑日志配置文件,加入以下配置,实现日志轮替/usr/local/nginx/logs/access_log{ daily #每天备份 create #备份时创建新的文件 rotate 30 #保留30天}
3.4、logrotate命令
logrotate [选项] 配置文件名
选项:
如果此命令没有选项,则会按照配置文件中的条件进行日志轮替
-v:显示日志轮替过程
-f:强制进行日志轮替,不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮替
启动管理
1、CentOS 6.x启动管理
1.1、系统运行级别
1.1.2、运行级别命令
runlevel #查看运行级别命令init 运行级别 #改变运行级别命令
1.1.3、系统默认运行级别
vim /etc/inittab id:3:initdefault: #系统开机后直接进入哪个运行级别
1.2、系统启动过程
initramfs内存文件系统
- CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。它们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块,比如USB、SATA、SCSI硬盘的驱动和LVM、RAID文件系统的驱动
调用/etc/init/rcS.conf配置文件
- 主要功能有两个
- 先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件爱你进行Linux系统初始化。
- 然后再调用/etc/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。
由/etc/rc.d/rc.sysinit初始化:
- 获得网络环境
- 挂载设备
- 开机启动画面Plymouth
- 判断是否启用SELinux
- 显示开机过程中的欢迎画面
- 初始化硬件
- 用户自定义模块的加载
- 配置内核的参数
- 设置主机名
- 同步存储器
- 设备映射器及相关的初始化
- 初始化软件磁盘阵列(RAID)
- 初始化LVM的文件系统功能
- 检验磁盘文件系统(fsck)
- 设置磁盘配额(quota)
- 重新以可读写模式挂载系统磁盘
- 更新quota(非必要)
- 启动系统虚拟随机数生成器
- 配置机器(非必要)
- 清除开机过程当中的临时文件
- 创建ICE目录
- 启动交换分区(swap)
- 将开机信息写入/var/log/dmesg文件中
调用/etc/rc.d/rc文件
- 运行级别参数传入/etc/rc.d/rc这个脚本之后,由这个脚本文件按照不同的运行级别启动/etc/rc[0-6].d/目录的相应的程序
- /etc/rc3.d/k?? 开头的文件(??是数字),会按照数字顺序依次关闭
- /etc/rc3.d/S?? 开头的文件(??是数字),会按照数字顺序依次启动
2、启动引导程序grub
2.1、grub中分区表示
2.2、grub配置文件
vim /boot/grub/grub.conf
- default=0 默认启动第一个系统
- timeout=5 等待时间,默认是5秒
- splashimage=(hd0,0)/grub/splash.xpm.gz 指定grub启动时的背景图像文件的保存位置
- hiddenmenu 隐藏菜单
- title CentOS 6 (2.6.32-573.el6.i686) 标题
- root (hd0,0) 启动程序的保存分区
- kernel /vmlinuz-2.6.32-573.el6.i686 ro
root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us
rd_NO_DM rhgb quiet
定义内核加载时的选项 - initrd /initramfs-2.6.32-573.el6.i686.img
指定了initramfs内存文件系统镜像文件的所在位置
2.3、Grub加密与字符界面分辨率调整
2.3.1、grub加密
grub-md5-crypt #生成加密密码串
vim /boot/grub/grub.confpassword --md5 $1$8hxxT/$NeSiBnYK4ctfanbL307aw0#password选项放在整体设置处
2.3.2、纯字符节面分辨率调整
grep "CONFIG_FRAMEBUFFER_CONSOLE" /boot/config-2.6.32-573.el6.i686 #查询内核是否支持分辨率修改
在grub.conf中配置调整分辨率
3、系统修复模式
3.1、单用户模式常见的错误修复
- 遗忘root密码
- 修改系统默认运行级别
3.2、光盘修复模式
重要系统文件丢失,导致系统无法启动
chroot /mnt/sysimage #改变主目录cd /rootrpm -qf /etc/inittab #查询下/etc/inittab文件属于哪个包mkdir /mnt/cdrom #建立挂载点mount /dev/sr0 /mnt/cdrom #挂载光盘rpm2cpio /mnt/cdrom/Packages/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittab #提取inittab文件到当前目录cp etc/inittab /etc/inittab#复制inittab文件到指定位置
备份与恢复
1、备份概述
1.1、Linux系统需要备份的数据
- /root/ 目录
- /home/ 目录
- /var/spool/mail/ 目录
- /etc/ 目录
- 其它目录
如果安装以下服务
- apache需要备份的数据
- 配置文件
- 网页主目录
- 日志文件
- mysql需要备份的数据
- 源码包安装的mysql:/usr/local/mysql/data/
- RPM包安装的mysql:/var/lib/mysql
1.2、备份策略
- 完全备份:完全备份是指把所有需要备份的数据全部备份,当然全部备份可以备份整块硬盘,整个分区或某个具体的目录。
- 增量备份,每次备份和上次备份相比,备份上次备份不存在的
- 差异备份,与完全备份相比,备份完全备份不存在的
2、dump和restore命令
2.1、dump命令
dump [选项] 备份之后的文件名 原文件或目录
选项:
-level: 0-9备份级别
-f 文件名:指定备份之后的文件名
-u: 备份成功之后,把备份时间记录在/etc/dumpdates文件
-v:显示备份过程更多的输出信息
-j:调用bzlib库压缩备份文件,把备份文件压缩为。bz2格式
-W:显示允许被dump的分区的备份等级及备份时间
示例:备份分区
dump -0uj -f /root/boot.bak.bz2 /boot/ #备份命令,先执行一次完全备份,并压缩和更新备份时间cat /etc/dumpdates #查看备份时间文件cp install.log /boot/ #复制日志文件到/boot分区dump -luj -f /root/boot.bak1.bz2 /boot/#增量备份/boot 分区,并压缩dump -W #查询分区的备份时间及备份级别
备份文件或目录
dump -0j -f /root/etc.dump.bz2 /etc#完全备份/etc/目录,只能使用0级别进行完全备份,不再支持增量备份
2.2、restore命令
restore [模式选项][选项]
模式选项:rstore命令常用的模式有以下四种,这四个模式不能混用。
-C:比较备份数据和实际数据的变化
-i:进入交互模式,手工选择需要恢复的文件
-t:查看模式,用于查看备份文件中拥有哪些数据
-r:还原模式,用户数据还原
选项:
-f:指定备份文件的文件名
示例:
restore -C -f /tmp/shell.bz2 #比较备份数据和实际数据的变化restore -t -f /tmp/shell.bz2 #查看备份文件内容restore -r -f /tmp/shell.bz2 #恢复备份数据
- Linux学习(七)日志、备份和启动管理
- linux 日志管理、系统启动和备份恢复
- Linux学习日志(七)
- Linux日志管理学习
- Linux日志管理以及备份与恢复
- MySQL InnoDB 管理和备份二进制日志
- Linux 学习(七)--- 用户和组账户管理
- Linux学习总结—启动、内存结构和管理
- Linux操作系统管理--日志管理和分析
- Linux学习之启动管理
- Linux学习笔记(七)--文件系统管理
- linux logrotate备份日志
- linux实训-备份日志
- 编译的学习和实践日志七[有穷自动机]
- 编译的学习和实践日志七[有穷自动机]
- 七 Linux 进程管理
- 《Linux 七》 进程管理
- 《Linux 七》 进程管理
- Redis 备份,容灾及高可用实战
- Spring事务配置的五种方式
- Java自定义排序
- php网站开发常见的几种攻击以及解决方案
- RPC协议之报Unknow Source的错误
- Linux学习(七)日志、备份和启动管理
- 装饰模式
- node.js依赖express解析post请求四种数据格式()
- leetcode
- Python3.5——函数式编程之参数详解
- CentOS防火墙开放和关闭端口(iptables)
- 微信小程序----组件之view
- 泛型
- 串口下载代码CH340驱动安装