一、系统备份恢复
dump工具使用:支持ext2/ext3/ext4文件系统,整个分区的备份,不支持某个文件或目录的备份。
备份工具或命令:
cp或者的scp
rsync 实时同步,本地或远程
dump工具
其他备份工具(商业软件)
备份类型和级别:
全量备份:0级别
增量备份:1-9级别(以前一个增量备份为基础)
差异备份:1-9级别(以全量备份为基础)
星期:一 二 三 四 五 六 日
级别:0 1 2 3 4 5 6
级别:0 5 6 3 5
file0 file1 file2 file[123] file[1234]
级别:0 2 2 2 2 2 2
file0 file1 file2 file3…
demo1:备份home分区
# yum -y install dump # dump -0u /home -f /tmp/backup/home0.dump
0:代表全量备份
u:更新/etc/dumpdates文件,记录备份的分区、备份级别及时间
f:备份后的文件路径及文件名
查看备份后的内容:
# restore -tf /tmp/backup/home0.dump
注意:
不要用vi、vim、cat等常用的查看工具去查看,防止损坏文件。
恢复:
1、进入到需要恢复的目录里
2、恢复
# restore -rf /tmp/backup/home0.dump 完全恢复
注意:
增量备份:必须一级一级恢复,先恢复全量备份,再恢复增量。
差异备份:先恢复全量,再恢复最后一个差异备份
# restore -if /tmp/backup/home3.dump 交互恢复
二、操作系统的启动流程
/boot:启动文件和内核相关的文件
config-2.6.32-431.el6.x86_64 内核的配置文件
grub 启动引导程序相关的数据目录
initramfs-2.6.32-431.el6.x86_64.img 虚拟的根文件系统文件
vmlinuz-2.6.32-431.el6.x86_64 内核压缩镜像文件
grub作用:
grub操作系统引导程序,操作系统安装时由安装向导默认安装在MBR(主引导扇区)里的。
作用,提供可引导的菜单,加载内核,把启动任务交给其他的启动引导器(双系统,先windows再linux)
一、硬件初始化
主板加电——>BIOS自检(收集硬件信息,设置启动项)——>HD
HD——>MBR(主引导扇区)——>bootloader(主引导程序)——>grub stage1[存放的是grub的指针]——>grub stage1_5[桥梁作用识别文件系统]——>grub stage2【grub.conf、分区表信息】——>根(/)、kernel、initramfs——>硬件驱动完成
二、操作系统初始化
redhat5 串行 redhat6 并行
内核启动执行的第一个进程——>/sbin/init——>通过/etc/init/rcS.conf来执行/etc/rc.d/rc.sysinit(系统初始化脚本,实现主机名设定,selinux,网络设定等)——>读取/etc/inittab(系统运行级别)——>读取/etc/rc.d/rc5.d/【设定服务是否开机自动起来;s代表开启启动,k代表开机不启动】
——>/etc/fstab (挂载系统分区)
——>/etc/rc.d/rc.local——>启动图形化——>login
注意:
开机执行某个脚本可以写到rc.loacl里,绝对路径
grub.conf的配置语法:
#boot=/dev/sda
default=0 默认启动哪个title,如果安装多个版本内核,系统会产生多个。0代表第一个;1代表第二个
timeout=5 等待延时5秒钟
splashimage=(hd0,0)/grub/splash.xpm.gz grub的背景图片
hiddenmenu 隐藏
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64) title后是菜单名称
root (hd0,0) 代表根文件系统在第一块硬盘的第一个分区上
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_clone-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_clone/LogVol01 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd / initramfs-2.6.32-431.el6.x86_64.img
demo1:
单用户模式修改密码
启动操作系统时——按“ESC”——按“e”——选择kernel行——空格输入1或者s或者single——b重新引导操作系统
demo2:
grub菜单加密
vim /boot/grub/grub.conf
#boot=/dev/sda
default=0 默认启动哪个title,如果安装多个版本内核,系统会产生多个。0代表第一个;1代表第二个
timeout=5 等待延时5秒钟
splashimage=(hd0,0)/grub/splash.xpm.gz grub的背景图片
password=redhat
或者
password –md5 $1$RUGOf$riG6AaUbUCwAjvMkZW9lS.
hiddenmenu 隐藏
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64) title后是菜单名称
demo3:
丢失grub.conf,之后如何引导
cp /boot/grub/grub.con /opt
rm -f /boot/grub/grub.conf
重启操作系统会进入到以下界面:
grub>
需要手动去引导系统:
grub> root (hd0,0)
grub> kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_clone-LogVol01
grub> initrd initramfs-2.6.32-431.el6.x86_64.img
grub> boot
操作系统起来后第一件事:
创建grub.conf文件(/boot/grub/grub.conf)
…..
demo4:丢失/boot目录下的所有数据
rm -rf /boot/*
1、通过光盘或者网络将系统引导到修复模式
chroot /mnt/sysimage 切换到自己的操作系统
2、挂载光盘重新安装kernel
lsblk 查看硬盘挂载情况
sr0 3.6 rom
#mount /dev/sr0 -o loop /mnt
rpm -ivh kernel… kernel-firmware… –force 强制安装
3、安装grub
grub-install /dev/sda
4、创建grub.conf文件
。。。
5、重启操作系统
exit 退出
reboot
内核的编译升级
1.rpm包升级
2.yum升级
3.源码包编译升级
1、rpm包升级
注意:
rpm -Fvh直接删掉旧版本升级到新版本,先安装新版本,等系统稳定运行一段时间后再删除旧版本。-ivh
rpm -ivh kernel… kernel-firware… –force
grub.conf文件会增加以下三行:
2、yum升级
1)配置yum源
2)安装kernel
3)重启操作系统
3、源码包编译升级内核
1)下载kernel源码包 www.kernel.org
linux-4.1.4.tar.xz
2)解压
# tar -xf linux-4.1.4.tar.xz -C /usr/src/
3)安装开发工具
# yum -y groupinstall “Development tools”
# yum -y install ncurses-devel ncurses-libs
4)配置内核
make menuconfig(配置) ————> make(编译)————>make modules_install (/lib/modules)——> make install (安装)
\
Makefile
1、cd /usr/src/linux4.1.4
2、make menuconfig
打开支持ntfs格式的文件系统
<M> MSDOS fs support │ │
│ │ <M> VFAT (Windows-95) fs support │ │
│ │ (437) Default codepage for FAT │ │
│ │ (ascii) Default iocharset for FAT │ │
│ │ <M> NTFS file system support │ │
│ │ [*] NTFS debugging support │ │
│ │ [*] NTFS write support
3、make -j 2 编译,指定cpu核数
4、make modules_install 安装驱动模块
5、make install 安装内核
模块操作:
lsmod 查看当前操作系统中已经加载的模块
modinfo 查看模块详细信息
modprobe 加载模块
modprobe -l 查看所有模块
modprobe -r 移除模块
dempod -a 让模块重新生成依赖关系
系统检测和进程控制:
1、查看当前操作系统的基本信息
IP、主机名、内核版本、系统版本、cpu、内存等
2、查看当前系统空间使用情况
df -h du -sh /etc
3、查看操作系统什么时候重启过
last
lastlog
uptime:
15:43:01 up 3:43, 2 users, load average: 0.00, 0.00, 0.00
当前操作系统时间 系统运行时间 当前几个用户 平均负载情况
top命令:动态的实时监控系统运行情况
top – 15:46:31 up 3:47, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 185 total, 2 running, 183 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.8%us, 1.4%sy, 0.0%ni, 93.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1907576k total, 988288k used, 919288k free, 48116k buffers
Swap: 2097144k total, 0k used, 2097144k free, 572288k cached
top——>r
top——>M(按照消耗物理内存的百分比排序)P(按照消耗cpu资源的百分比排序)
top——>q 退出
top -b -n1 打印top显示的所有进程
top -u username 显示某个用户的进程情况
ps命令:
# ps 打印当前终端正在运行的进程
PID TTY TIME CMD
15936 pts/0 00:00:00 bash
16803 pts/0 00:00:00 ps
ps aux
ps -ef |grep httpd
kill -l 查看所有信号
9 强制结束进程
15 友好的结束
19 暂停进程
18 恢复进程
总结:
kill pid(默认发送15信号)
kill -9 pid1 pid2
killall -9 进程名
skill -9 -u username
pkill -u username
ctrl+z 将某个程序放到后台
jobs
kill -18 %1 将编号为1的进程放到前台运行
fg 把最后放到后台的程序再次放到前台
bg %1 激活后台暂停的进程
小工具使用:
管道(|)
命令1 | 命令2 | 命令3
echo 123 |passwd –stdin user1
grep工具:行过滤
参数:
-c:计算找到搜索到关键字的次数
-i:忽略大小写
-n:顺便输出行号
-v:取反
–color=auto:关键字颜色显示
^:以。。开头
$:以。。结尾
-A n:匹配关键字的后几行
-B -n:前几行
-C -n:前后几行
cut:截取某个字符,列过滤
-c:以字符为单位进行过滤
-d:自定义分割符,默认指标符
-f:与-d一起使用,指定显示区域
# cut -d: -f3 passwd
# cut -c 5-15 passwd
# grep root passwd |cut -d: -f 1
sort:排序,默认情况从首字母向后按照ascii值进行比较后升序排列
-u:去重复 uniq
-r:将序排列
-o:将排序结果输出到文件
-n:按照数字排序
-t:定义分割符
-k:第N列
# sort -n -r -t: -k3 passwd
wc工具:统计行 字符 单词
# cat /var/log/messages|wc -l
wc -l
wc -c
wc -w
练习1:
1、删除grub.conf,开机引导。
2、删除boot目录,开机引导。
3、修改/etc/inittab ——6
4、更改root密码
5、将系统内核升级到6.6操作系统内核
练习2:
1、截取你本机的IP地址,广播地址、MAC地址
172.16.2.10
172.16.255.255
14:DA:E9:EB:A9:56