Linux系统备份与恢复
Linux的备份与恢复很简单,有两种方式:
- 把需要的文件(或者分区)用tar打包就行,下次需要恢复的时候,再解压覆盖即可
- 使用dump和restore命令
安装dump和restore
如果Linux上没有dump和restore指令,需要先安装:
sh
yum -y install dump
yum -y install restore
使用dump完成备份
dump支持分卷和增量备份(增量备份就是备份上次备份后 修改或新增的文件,也称差异备份)
语法说明:
sh
dump [ -cu] [-123456789] [ -f <备份后的文件名>] [-T <日期>] [目录或文件系统]
dump []-wW
-c # 创建新的归档文件,并将由一个或多个文件参数所指定的内容写入归档文件的开头
-0123456789 #备份层级,0:最完整备份,备份所有文件;若指定0以上的层级,则备份至上一次备份以来修改或新增的文件,到9后可以再次轮替
-f <备份后的文件名> # 指定备份后的文件名
-j # 调用bzlib库压缩备份文件,就是将备份文件压缩成bz2格式,使文件更小
-T <日期> # 开始备份的时间和日期
-u #备份完毕后,在/etc/dympdares 中记录备份的文件系统,层级,日期与时间等
-t # 指定文件名,若该文件已存在备份文件中,则列出名称
-W #显示需要备份的文件机器最后一次备份的层级,时间,日期
-w #与-W类似,但仅显示需要备份的文件
具体案例:
sh
# 将/boot 目录所有内容备份到/opt/boot.bak.bz2 文件中,备份层级为0
dump -ouj -f /opt/boot.bak0.bz2 /boot
# 给/boot 目录下新增一个文件,备份层级为1(只备份上次0 备份后发生过改变的数据)
dump -1uj -f /opt/boot.bak1.bz2 /boot
通过dump命令和crontab 可以实现无人值守备份.
-
dump -W
显示需要备份的文件 及其最后一次备份的层级,时间,日期
-
查看备份时间文件
shcat /etc/dumpdates
注意:只有备份分区时,支持增量备份,如果备份文件或者目录,不支持增量备份,即只能使用0级别备份
比如:
sh
dump -0j -f /opt/etc.bak.bz2 /etc/ # 执行成功
dump -1j -f /opt/etc.bak.bz2 /etc/ # 执行失败
使用restore完成恢复
restore命令用来恢复已备份的文件,可以从dump生成的备份文件中恢复原文件。
基本语法如下:
sh
restore [模式选项] [选项]
# 说明,以下4个模式,不能混用,在一次命令中,只能指定一种
-C # 使用对比模式,将备份的文件与已存在的文件相互对比
-i # 使用交互模式,在进行还原操作时,restore指令将依序询问用户
-r # 进行还原模式
-t # 查看模式,看备份文件有哪些文件
# 选项:
-f <备份设备> # 从指定文件中读取备份数据,进行还原操作
具体案例:
sh
#restore 命令比较模式,比较备份文件和原文件的区别
restore -C -f book.bak1.bz2 # 比较原文件和book.bak1.bz2 的区别
#restore 查看模式,看备份文件有哪些数据/文件
restore -t -f book.bak1.bz2
#restore 还原模式,注意:如果有增量备份,需要把增量备份文件也恢复,有几个增量备份文件,就恢复几个,按顺序恢复即可
# 先备份的先恢复!
restore -r -f /opt/boot.bak0.bz2 # 恢复到第一次的完全备份状态
restore -r -f /opt/boot.bak1.bz2 # 恢复到第二次的增量备份状态
#restore 恢复备份的文件,或者整个目录的文件
restore -r -f [备份文件]
mkdir ecttmp
cd etctmp/
restore -r -f /opt/etc.bak0.bz2
Linux可视化管理webmin和bt运维工具
webmin
webmin是功能强大的基于web的unix/Linux系统管理工具。管理员通过浏览器访问webmin的各种管理功能并完成相应的管理操作。除了各版本的Linux以外还可以用于:AIX、HPUX、Solarix、Unixware、Irix和FreeBSD等系统。
- 安装webmin&配置
- 下载地址:Index of /download/yum,用下载工具下载即可。
或者使用命令执行
sh
wget https://download.webmin.com/download/yum/webmin-1.700-1.noarch.rpm
- 执行命令:rpm -ivh webmin-1.700-1.noarch.rpm
- 重置密码 /usr/libexec/webmin/changepass.pl /etc/webmin root test
root 是webmin的用户名,这里把webmin 的root用户的密码改成了test
- 修改webmin服务的端口号 (默认10000 出于安全的目的)
sh
# 执行命令
vim /etc/webmin/miniserv.conf
# 修改端口
将port=10000 改成 port=7777
- 重启webmin
sh
/etc/webmin/restart # 重启
/etc/webmin/start # 启动
/etc/webmin/stop #停止
- 防火墙放开7777端口
sh
firewall-cmd --zone=public --add-port=7777/tcp --permanent #配置防火墙开放6666端口
firewall-cmd --reload #更新防火墙配置
firewall-cmd --zone=public --list-ports #查看已开放的端口号
这时访问http://IP:7777 就可以访问了,用root用户登录后可以看到:
bt宝塔
bt宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等多项服务器管理功能。
- 安装和使用bt
- 安装
sh
# CentOS通用安装命令(推荐)
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
- 安装成功后控制台会显示登录地址,账户密码,复制浏览器打开登录。
假如某天你忘记了用户名、密码、或者地址,可以执行:bt default 指令来查看相应信息。