系统备份恢复等(2016.2.20第六周linux课程笔记)

一、系统备份恢复

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

未经允许不得转载:好玩吧 » 系统备份恢复等(2016.2.20第六周linux课程笔记)