实战演练:数据备份操作指南 Windows 系统备份秘籍
“在 Windows 系统中,有多个实用的备份工具可供选择,下面为大家详细介绍文件历史记录和系统映像备份这两个工具的使用方法。”
(一)Windows 系统备份秘籍
在 Windows 系统中,有多个实用的备份工具可供选择,下面为大家详细介绍文件历史记录和系统映像备份这两个工具的使用方法。
文件历史记录:文件历史记录是 Windows 10 和 Windows 11 系统中一个方便实用的备份工具,能自动将选定文件夹中的文件备份到外部硬盘、网络位置或云存储服务 。操作步骤如下:首先,打开 “设置” 应用,选择 “更新和安全”,再点击 “备份” 选项卡,然后点击 “添加驱动器”,在弹出的对话框中,选择用于存储备份的外部硬盘或网络位置,确保所选驱动器有足够的空间来存储备份文件 。接着,在 “备份选项” 下,开启 “自动备份我的文件” 功能,Windows 将默认备份用户文件夹(如文档、图片、视频等)中的文件,若有个性化需求,也可点击 “更多选项” 来自定义备份内容,添加或排除特定的文件夹 。此外,还能调整备份频率,Windows 允许用户设置备份的间隔时间,如每小时、每天等,可根据数据的更新频率和重要性进行选择 。使用文件历史记录时,要注意确保备份驱动器或网络位置的安全性和稳定性,避免数据在传输或存储过程中受到损坏或丢失;还要定期检查备份文件的完整性和可恢复性,确保在需要时能够顺利恢复数据 。
系统映像备份:系统映像备份则可以创建整个系统的完整快照,包括操作系统、应用程序、系统设置和文件,为系统提供全面的恢复解决方案 。操作时,先打开控制面板,按 Windows+R 打开 “运行” 对话框,在文本框中键入 “control”,然后按 Enter 键或单击 “确定” 。在控制面板中,单击系统和安全下的备份和还原,接着点击创建系统映像 。此时,需要选择保存备份的位置,如果要将其存储在硬盘上,单击 “在硬盘上” 下拉菜单,然后选择驱动器,准备好后单击 “下一步” 。在选择要包含在备份中的驱动器界面,会显示将要备份的所有驱动器,默认情况下包括 Windows 运行所必需的驱动器,可勾选复选框以在备份中包括更多驱动器,同时还能看到保存备份需要多少存储空间,完成后单击 “下一步” 。若正在备份的驱动器是加密的,将收到关于备份位置未加密的通知,并需将备份保存在物理安全的位置,单击 “确定” 关闭通知 。最后,确认备份设置,这里能看到映像备份将存储在哪个驱动器中、备份空间以及将要备份的驱动器,若有驱动器被加密,会收到通知,单击 “开始备份” 进行确认,Windows 将开始保存备份,备份完成后,单击 “关闭” 。需注意,若要建立磁盘的系统映像,必须将其格式化成使用 NTFS 文件系统,如果将系统映像储存在硬盘或者 USB 存储设备上,也必须将其格式化成使用 NTFS 文件系统 。
(二)Linux 系统备份妙招
在 Linux 系统中,rsync 和 tar 是两个常用的备份命令,它们功能强大,能够满足不同场景下的数据备份需求。
rsync 命令:rsync 是实现远程同步功能的软件,在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,该软件通过 ssh 协议来传输文件 。例如,要同步本地计算机中的两个目录,使用 rsync -zvr 命令,如:[root@localhost ~]# rsync -zvr /var/log//root/temp/ ,其中,-z 启用压缩,-v 输出详细信息,-r 表示递归 。若要在同步期间保留时间戳,可使用 rsync -a 命令,-a 选项表示存档模式,它递归同步、保留符号链接、保留权限、保留时间戳、保留所有者和组 。比如:[root@localhost ~]# rsync -azv /var/log//root/temp/ 。rsync 还允许在本地和远程系统之间同步文件 / 目录,前提是本地和远程系统都要安装 rsync 。将文件从本地同步到远程目录,命令为:[root@localhost ~]# rsync -avz /root/temp/root@192.168.43.137:/root/temp ,执行时需输入远程系统的密码 。将文件从远程目录同步到本地,在源中指定远程路径,在目标中指定本地路径即可,如:[root@localhost ~]# rsync -avz root@192.168.43.137:/root/temp/root/temp 。此外,使用 - u 选项可以避免覆盖目标位置上已修改的文件;使用 --progress 选项可以在传输过程中查看 rsync 进度;使用 --delete 选项可以在目标目录中删除源目录不存在的文件 。
tar 命令:tar 命令主要用于对文件和目录进行打包和压缩,也常用于数据备份 。基本语法为:tar [选项] 打包文件名 文件或目录 。例如,要将 /home/user 目录打包成一个名为 home_user.tar 的文件,命令为:tar -cvf home_user.tar/home/user ,其中,-c 表示创建新的归档文件,-v 表示显示详细信息,-f 指定归档文件名 。如果要将打包后的文件进行压缩,以 gz 格式为例,使用 - z 选项,命令为:tar -zcvf home_user.tar.gz/home/user 。在恢复备份时,若要解压 gz 格式的文件,命令为:tar -zxvf home_user.tar.gz ,-x 表示解包文件 。若要将解压后的文件恢复到指定目录,可使用 - C 选项,如:tar -zxvf home_user.tar.gz -C /destination/directory ,将文件恢复到 /destination/directory 目录下 。
(三)数据库备份要点
数据库备份是数据备份的关键环节,下面以 MySQL 和 Oracle 这两种常见的数据库为例,介绍其全量备份和增量备份的操作流程和关键参数设置。
MySQL 数据库:对于 MySQL 数据库,全量备份可以使用 mysqldump 命令 。例如,要备份名为 test_db 的数据库,命令为:mysqldump -u username -p test_db > backup.sql ,其中,-u 指定用户名,-p 会提示输入密码,backup.sql 是备份文件的名称 。如果要备份所有数据库,使用 --all-databases 选项,命令为:mysqldump -u username -p --all-databases > all_backup.sql 。增量备份则需要先开启 mysql 的 logbin 日志功能,在 /etc/my.cnf 文件中加入相关配置,如:[mysqld] log-bin = "/home/mysql/logbin.log" binlog-format = ROW log-bin-index = "/home/mysql/logindex" binlog_cache_size=32m max_binlog_cache_size=512m max_binlog_size=512m ,然后重启 mysql 。编写增量备份脚本,例如在 /home/mysql 目录下创建 binloghourbak.sh 脚本,内容如下:
#!/bin/bash
#source 必须要加上,因为定时跑批是无法找到环境里的配置,只能指定
source /etc/profile
source ~/.bash_profile
export LANG=en_US.UTF-8
# 文件夹需要自己新建
BakDir=/home/mysql/backup/hour
# BinDir 这个就是自己的mysql安装data的目录地址
BinDir=/usr/local/mysql/data
LogFile=/home/mysql/backup/binlog.log
BinFile=/home/mysql/logindex.index
echo `date +"%Y年%m月%d日 %H:%M:%S"` Bakup start! \>\> $LogFile
#这个是用于产生新的mysql-bin.00000*文件
#这里要注意的是,定时器中找不到该配置,必须把详细路径写上,我创建了软连接,所以写的是这个地址,实际需要根据自己的项目设置
/usr/etc/bin/mysqladmin -uroot -proot123 flush-logs
Counter=`wc -l $BinFile |awk '{print $1}'`
NextNum=0
#这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的
for file in `cat $BinFile`
do
#basename用于截取mysql-bin.00000*文件名,去掉./mysql-bin.000005前面的./
base=`basename $file`
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $Counter ]
then
echo $base skip! \>\> $LogFile
else
dest=$BakDir/$base
if(test -e $dest)
#test -e用于检测目标文件是否存在,存在就写exist!到$LogFile去
then
echo $base exist! \>\> $LogFile
else
cp $BinDir/$base $BakDir
echo $base copying \>\> $LogFile
fi
fi
done
echo `date +"%Y年%m月%d日 %H:%M:%S"` Bakup succ! \>\> $LogFile
赋予脚本执行权限:chmod a+x /home/mysql/binloghourbak.sh ,并可以通过定时任务来定期执行增量备份脚本 。
Oracle 数据库:Oracle 数据库可以使用 RMAN(Recovery Manager)工具进行全量备份和增量备份 。全量备份的基本步骤如下:首先,启动 RMAN 工具,例如在命令行中输入 rman target / ,以连接到目标数据库 。然后,使用 backup 命令进行全量备份,如:backup database; ,这将备份整个数据库 。如果要备份数据库并同时备份归档日志,可以使用:backup database plus archivelog; 。增量备份则分为不同级别,例如,level 0 备份是全量备份的一种特殊形式,它是后续增量备份的基础 。level 1 备份是真正的增量备份,它只备份自上次 level 0 或 level 1 备份以来更改的数据块 。执行增量备份的命令示例:backup incremental level 1 database; 。在恢复备份时,根据备份类型和恢复需求,使用 restore 和 recover 命令进行数据恢复 。例如,从全量备份恢复数据库,先使用 restore database; 恢复数据文件,再使用 recover database; 应用归档日志以恢复到一致状态 。如果是增量备份恢复,先恢复基础备份(通常是 level 0 备份),然后依次应用增量备份 。