问题描述:
在Linux中如何备份整个文件系统呢?有没有类似Ghost那样的工具可以将整个文件系统备份下来,需要时可以方便的恢复呢?
我需要在多个 *** 作系统渐进行切换,种种原因又不能用VMware制作虚拟机,所以在多个 *** 作系统间切换变得很麻烦,总不可能频繁的安装 *** 作系统吧。所以不知道有没有类似Ghost这样的工具,可以把整个Linux或Unix *** 作系统备份下来。
解析:
如果是我的话,我会选择软件来进行系统备份。
下载地址是
2.cddc.vt.edu/pub/linux/utils/press/xtar-4.4.6.tar.gz
他叫Xtar 是桌面环境下查看和处理tar的工具。tar工具是Unix备份文件的工具,Linux继承了它。tar几乎可以工作于任何环境中,所以Linux老用户都信赖它。但是tar是一个命令行的工具,没有图形界面。tar命令的参数非常多,常用的包括30多个,初学者往往不易掌握。Xtar是一个图形化的tar工具。Xtar全部兼容tar命令,可以在桌面环境下完成打包整个目录树的任务,这使得它特别适合用于备份。Xtar与文件系统无关,可以使用在ext2、ext3、JFS、Reiser和其它文件系统上,支持各种备份介质:软盘、光盘、可重写的光盘、JazZip、磁带等。
1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。
比如导出单个数据库 ytt: mysqldump ytt >/tmp/ytt.sql;
恢复也非常简单:mysql </tmp/ytt.sql
缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。
2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。
其他缺点和 mysqldump 一样。
3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。
dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例
dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库
load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件
MySQL Shell UTIL 备份恢复工具具备如下特性:
1. 压缩导出(默认压缩算法 zstd)
2. 数据集分块导出,每块 32M
3. 默认导出存储过程、存储函数、触发器、事件、用户、视图
4. 默认 4 个线程导出
5. 默认进度展示
6. 默认字符集 utf8mb4
7. 默认开启一致性导出
8. 默认表,视图等定义导出为 SQL 语句
9. 默认数据导出为 TSV 格式数据
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile oracle@172.16.1.5:/data1/backup/db_bak
exit 0
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U'
全备份,默认Format
backup incremental level 0 database
增量备份
backup incremental level 1 database
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' oracle@172.16.1.1:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)