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
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下
本文来自博客园,作者:icui4cu,转载请注明原文链接:https://www.cnblogs.com/icui4cu/p/16029383.html