linux系统需要备份吗,准备好了吗?请备份你的Linux系统
一、我们需要备份什么?
我的 Linux 系统是基于 Redhat 的Redhat Linux 9.0,同时配置了诸如 MySQL、PHP、Apache 等基础服务,同时又配有 Awstats、MRTG、MT 等应用服务程序,因此,我们需要备份的除了系统本身的重要文件以外,还需要备份数据库、log文件和统计数据文件等。当然另外一项必不可少的就是编译各项服务时的 ./configure 参数,这里就不赘述了。
二、制定备份文件列表。
这个步骤就是归纳一下需要备份的目录列表。以下我就依照我所安装的各项服务作了一个简单的list。 一些文件的地址是以我的服务器为标准(以"/"开头),一些则以相对目录来描述(以"./"开头)。
系统:
/etc /usr/local/etc
包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
/var
包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。
/home
包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
/root
是根(root)用户的主目录。
/opt
是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其他软件在默认情况下也安装在这里。
系统中不需要备份的目录:
/proc
应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
/dev
包含硬件设备的文件表示。如果计划还原到一个空白的系统,那就可以备份 /dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。
更多关于目录的解释,请查看 Filesystem Hierarchy Standard 和 Red Hat Linux Overview of File System Hierarchy Standard (FHS)
MySQL:
/usr/local/mysql
同时要注意版本的保留,在恢复的时候使用相同的版本(或者相同系列的版本)会减少更多不必要的麻烦,例如 “/usr
/local/mysql-standard-4.1.7-pc-linux-i686”。
/etc/my.cnf
MySQL 的配置文件。
Apache:
/usr/local/apache2/logs
Apache 的 log 文件。这里建议使用 cronolog 来 rotate Apache 的巨大 log。可以参考我的 cronolog 杂记
/usr/local/apache2/conf
Apache 的配置文件,例如: httpd.conf。还是建议在修改此文本的时候使用“#”号 comment 修改的内容,然后添加需要修改的内容。
PHP:
/usr/local/lib/php.ini
个人觉得这个就够了。如果你设定了 php 的 error log 文件,当然那个也是需要的。
Movable Type:
./MT-3.0D-full-en_ususr/ 和你的 weblog 目录
一般来说 blog 不会太大,不介意的话就整个备份一下。当然最重要的是 ./MT-3.0D-full-en_ususr/db/ 文件夹,里面有所有的数据(如果你没有用 MySQL 作为 MT 的数据存储格式的话)。
Awstats:
/etc/awstats/
Awstats 的配置文件。诸如:awstats.blog.conf
/var/lib/awstats/
Awstats 的分析留档文件。 诸如:awstats082004.blog.txt
MRTG:
MRTG 的输出文件夹。内有图片和诸如 12.34.56.78_12.34.56.78.log 的log文件。
三、使用 tar 和 crontab 等简单工具备份。
以下是使用 tar 的脚本,去掉了多余的说明部分。 您也可以点击这里下载并修改以适合自己的系统。在脚本中我尽量用更多的方法来进行备份。在实际应用中可以将步骤更加简化。更多关于 tar 的参数请看 man tar#!/bin/sh
# Date format: 20040626
DATE=`date -d yesterday +%Y%m%d`
# MySQL version & directory
MYSQL_VERSION="4.x.x"
MYSQL_DIR="/usr/local/mysql/data"
# MT Blog directory
MTBLOG_DIR="/path-to-mt/db/"
# Backup directory & Backup Filelist
BACKUP_DIR="/path-to-backup/backupfile"
BACKUP_FILELIST="/path-to-backup/filelist"
# Backup MySQL
printf "Backup MySQL data directory, please wait...\n"
tar -zpcvPf $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz $MYSQL_DIR | grep "tar:"
printf "Done! The new backup file is: $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz\n\n"
# Backup MT Blog
printf "Backuping the MT3.0 Weblog data directory, please wait...\n"
tar -zpcvPf $BACKUP_DIR/MT-db-$DATE.tgz $MTBLOG_DIR | grep "tar:"
printf "Done! The new backup file is: $BACKUP_DIR/MT-db-$DATE.tgz\n"这里引用了『Linux 备份与恢复速成指南』中的一个小技巧,将文件列表写入一个文件进行操作。查看我的Filelist。
以下是一个文件列表的例子:/etc
/var
/home
/usr/local
/opt (有时会是空目录)以下解释引自『Linux 备份与恢复速成指南』:
请注意 tar -T(或 files-from)命令不能接受通配符。文件必须明确地列出。上面的例子展示了一种单独地引用文件的方法。您还可以执行脚本来搜索系统,然后建立一个列表。下面就是这样一个脚本的例子:#!/bin/sh
cat MyFiles > TempList
find /usr/share -iname *.png >> TempList
find /tmp -iname *.iso >> TempList
tar -cpzMf /path-to-backup/backupfile -T TempList上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList。然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到 TempList。第一次是搜索 /usr/share 目录树中以 .png 结尾的所有文件。第二次是搜索 /tmp 目录树中以 .iso 结尾的所有文件。在建立好列表之后,tar 然后在文件设备 /dev/st0 (第一个 SCSI 磁带设备)上创建 一个新的归档文件,该文件使用 gzip 格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从 TempList 文件中提取。
linux系统需要备份吗,准备好了吗?请备份你的Linux系统相关推荐
- Jetson Orin NX上手使用(Linux系统的配置Jetpack的烧录镜像的备份恢复)
长文预警 本篇为完整过程记录 有特定需求可以跳转对应位置查看 先介绍手上拿到的orin nx模块:Jetson Orin NX 16GB 100TOPS的算力听起来顶呱呱 摸过一些jetson系列套件 ...
- 你真正的去了解过Linux吗?不单单是一些命令操作,比如它的系统架构!!!
文章较长,建议慢慢看!!!^_^ Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并 ...
- Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份
http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...
- dmb: 数据库监控及灾备系统(for mysql)_MySQL企业级数据库灾备(备份)系统-DMB v2.1发布...
为了这系统宅了很多个周末,又一个小长假过去了, DMB v2.1终于可以那得出手了,现在分享出来让朋友们使用,希望能得到更多更好的建议.DMB 对InnoDB存储引擎支持在线热备(ibbackup, ...
- linux系统引导设置,Linux操作系统GRUB引导程序配置方法大全 - 技术文档 - 新手入门 Linux时代......
1. GRUB 介绍 计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS 的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占 ...
- linux读取树莓派SD卡,如何修复及查看SD卡上树莓派系统(转)
如何查看SD卡的分区,使用这个命令即可: sudo fdisk -l Device Boot Start End Sectors Size Id Type /dev/mm ...
- win10 安装linux 需要多大空间,在Win10 PC上安装Ubuntu 20.04 系统
在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...
- linux照片备份软件,Linux、Unix上5个惊艳开源备份软件
Linux和类Unix系统上5个惊艳的开源备份软件:Bacula.Amanda.Backupninja.Backuppc和UrBackup,这些都是既可以使用在Linux上也可以使用在Unix上面,他 ...
- linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份
一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...
- 服务器系统快照备份,云服务器如何设置快照备份
云服务器如何设置快照备份 内容精选 换一换 本节介绍如何使用华为云镜像,通过切换镜像部署Windows环境.当您已经购买了弹性云服务器,但想切换成其它类型操作系统,或者想使用镜像重新部署已经预装了其它 ...
最新文章
- Python零碎知识(10):对日期时间的处理
- 阿里员工发帖吐槽人不如驴:你不能一边抽我,一边问我爱不爱你
- Vivado设置指定源文件进行RTL优化
- cat命令详解_需要!Linux常用监视和故障排查命令详解
- C++学习之路 | PTA乙级—— 1091 N-自守数 (15 分)(精简)
- 搜狐新闻推荐算法原理 | “呈现给你的,都是你所关心的”
- 这8种常见的SQL错误用法,你还在用吗?
- 使用自定义手势处理器-陈鹏
- LED产品认证和检测
- Mac 输入法候选词框消失的解决方法
- Python自动化运维实战:使用Python管理网络设备
- Triplet-Graph Reasoning Network for few-shot Metal Generic Surface Defect Segmentation论文理解
- 回首2013,寄语步入社会的我——自强不息,厚德载物
- Linux dirname 命令
- 学习smarty手记一,如何配置smarty
- OTA 电控信息安全
- 画论45 李开先《中麓画品》
- c语言奖牌,一言不合晒奖牌,哪个是你心中的C位?
- Linux九阴真经之九阴白骨爪残卷4(cobbler)
- 2020年最酷的十个无人机项目(上)
热门文章
- Leetcode--695. 岛屿的最大面积
- python 批量读取xlsx并合并_python合并多个excel表格数据-python如何读取多个excel合并到一个excel中...
- java中的账户冻结原理_java可重入锁(ReentrantLock)的实现原理
- 训练深度学习_深度学习训练tricks整理1
- lte核心网由哪些设备组成_投影地面互动的实现由哪些设备组成?「振邦视界」...
- ansible执行mysql命令,Ansible常用命令(ad-hoc 命令)
- mysql索引 和 es索引_MySQL索引 VS ElasticSearch索引
- 反弹式木马原理_汽车避震器的原理与改装问题
- matplotlib调节colorbar的大小
- android静态类保存context,Android:静态获取Context是一个好习惯吗?