8.数据和磁盘

Linux的数据备份以及磁盘管理

数据备份

ghost:Windows操作系统备份软件,备份硬件,硬盘镜像技术
dd:Linux的磁盘备份软件

需要备份的文件

/root/   管理员
/home/   用户
/var/spool/mail/   邮件
/etc/   系统配置文件
/var/xxxx/mysql/   mysql数据库

除了标准系统重要文件以外,安装的某些服务,也需要备份,如lamp环境中的文件等

磁带机

磁带机编号
/dev/st0

倒带,相当于初始化
mt -f /dev/st0 rewind

擦除,磁带机可以覆盖数据,擦除对磁带机影响较大,不建议使用
mt -f /dev/st0 erase

出带,让磁带弹出,进行离线
mf -f /dev/st0 offline

查看磁带的内容,不添加数据位置会列出所有数据,查看没有数据的会报错
tar tvf /dev/st0 [数据位置]

备份数据到磁带(有打包和不打包两种)
tar cvf /dev/st0 [备份保存位置]

继续写入数据
tar rvf /dev/st0 [数据位置]

把磁带中的数据恢复到硬盘,先断网再插入磁带机
tar xvf /dev/st0 [位置]

硬盘备份

完全备份,增量备份(累计增量备份,差异备份)

完全备份:所有需要的数据进行备份(ghost)

累计增量备份:先完整备份一次,运行一段时间,比较现在的数据和完全备份的差异,只备份有差异的数据

备份:完整备份|第二天增加的数据|第三天增加的数据……

恢复:完整备份+第二天增加的数据……

差异备份:

完整的备份+第二天增加的数据(第一次差异备份)
完整的备份|第二天增加的数据+第三天增加的数据(第二次差异备份)

累计增量备份是和原来完整数据进行比较,差异备份是和上一次(N次)备份情况进行比较并加上当天数据组成第N+1次备份

tar命令备份数据

#!/bin/sh
BAKDATE=`date +%y%m%d`   当前日期
DATA3=`date -d "3days ago" +%y%m%d`   3天前的日期
osdata=/disk1   磁盘1
userdata=/disk2   磁盘2
tar -zcvf /$osdata/etc.data/etc_$BAKDATE.tar.gz /etc   把/etc目录使用tar备份为/disk1/etc.data/etc_当前时间.tar.gz

tar -zcvf /$osdata/boot.data/boot_$BAKDATE.tar.gz /boot 
tar -zcvf /$osdata/home.data/home_$BAKDATE.tar.gz /home
tar -zcvf /$osdata/root.data/root $BAKDATE.tar.gz /root
tar -zcvf /$userdata/usr_data/usrlocal_$BAKDATE.tar.gz /usr/local
tar -zcvf /$userdata/var_www/www_$BAKDATE.tar.gz /var/www
cp -r /$osdata/* /$userdata
cp -r /$userdata/* /$osdata

# 删除旧数据
rm -rf /$osdata/etc.data/etc_$DATA3.tar.gz
rm -rf /$osdata/boot.data/boot_$DATA3.tar.gz
rm -rf /$osdata/home.data/home_$DATA3.tar.gz
rm -rf /$osdata/root.data/root_$DATA3.tar.gz
rm -rf /$osdata/usr_data/usrlocal_$DATA3.tar.gz
rm -rf /$osdata/var_www/www_$DATA3.tar.gz

rm -rf /$userdata/etc.data/etc_$DATA3.tar.az
rm -rf /$userdata/boot.data/boot_$DATA3.tar.gz
rm -rf /$userdata/home.data/home_$DATA3.tar.gz
rm -rf /$userdata/root.data/root_$DATA3.tar.gz
rm -rf /$userdata/usr_data/usrlocal_$DATA3.tar.gz
rm -rf /$userdata/var_www/www_$DATA3.tar.gz

dump和xfsdump命令备份数据

dump

yum -y install dump

dump实现增量备份
支持0-9级别的备份,0=完全备份 1~9=增量备份

df -h   # 查看磁盘

Filesystem   文件系统
Size   容量
Used   已使用
Avail   剩余容量
Use%   使用百分比
Mounted on   挂载位置

xfsdump

yum -y install xfsdump

xfsdump -f /root/dump_sda1 /dev/sda1
对/boot/文件夹进行备份(dev/sda1就是boot文件夹),保存在/root/dump_sda1

image

xfsrestore -f /root/dump_sda1 /root/sda1-test
把/root/dump_sda1恢复到/root/sda1-test
xfsdump -1j -f /root/boot-z1 /dev/sda1
对/dev/sda1进行增量备份,保存在/root/boot-z1

dd备份

主要用来数据备份以及格式转换

dd if="输入文件" of="输出文件" bs="数据块" count="数量"
备份文件,bs表示一次性读取多少数据,count表示bs数量
备份文件
dd if=/haha/1.txt of=/root/1.bak

备份磁盘分区 (这里sda1是挂载在boot下的,文件保存为备份分区)
dd if=/dev/sda1 of=/root/boot.bak

恢复到分区
dd if=/root/boot.bak of=/dev/sda1

整盘备份(不是文件保存为整盘)
dd if=/dev/sda1 of=/dev/sdb

把光盘中的内容制作成iso文件(光盘镜像)
dd if=/dev/cdrom of=/tmp/cd.iso

建立一个挂载点
mkdir /mnt/cd

把光盘镜像挂载到/mnt/cd
mount -o loop /tmp/cd.iso /mnt/cd

挂载表示将硬件和Linux本身的文件进行合二为一,使得Linux访问文件的时候相当于访问目标硬件

远程备份

rsync

rsync -av /etc/passwd /tmp/1.txt
把/etc/passwd同步到/tmp/1.txt上
rsync -av /etc/passwd 192.168.1.10:/tmp/1.txt
远程同步/etc/passwd到192.168.1.10的/tmp/1.txt下
posted @ 2022-03-20 11:29  icui4cu  阅读(120)  评论(0编辑  收藏  举报