通过5种方式备份必要的Linux目录
2026-06-05
在 Linux 中,目录对于组织和管理系统中的文件与数据起着至关重要的作用。目录结构构成了 Linux 文件系统的基础,提供了文件与目录的层级化组织方式。
此外,许多 Linux 应用程序和服务依赖于 Linux 目录结构中的特定目录和文件。例如,应用程序的配置文件通常存储在特定目录中,而系统日志则通常集中存放在某个固定位置。有时,您可能需要彻底重构主文件系统结构。
尽管您可以将 Linux 备份到多个目标位置,但除了对整个服务器进行备份外,还必须备份某些重要的 Linux 目录。
但请稍等,您必须了解哪些目录值得备份。本文将为您介绍 Linux 系统中应当备份的目录,以及执行备份的 5 种主要方法。
哪些目录需要备份?
/etc:存储系统的重要配置文件,包括用户与组信息、网络设置、应用程序配置以及启动文件。若丢失该目录,系统故障或宕机后的恢复工作将变得困难且耗时。备份 /etc 目录至关重要,可避免因重装系统和应用程序而从头开始配置。
/home:用户数据、文件、文档、图片和下载内容均存储在以用户名命名的 /home 目录下。备份该目录至关重要,因为它是对用户而言最重要的目录。
/root: 备份 root 用户的主目录至关重要。其中包含对系统管理员至关重要的重要且独有的信息,例如下载文件、配置文件、脚本和笔记。
/var:用于存储数据库、网页、日志、定时任务配置(crontabs)等文件。该目录每日增长,需独立的存储空间和磁盘。
/usr/local/bin:该目录可能为空,也可能包含非标准的脚本和应用程序。如果为空,建议创建一个空文件(/usr/local/bin/empty),以避免备份时产生混淆。
/usr/local/sbin: 同样,/usr/local/sbin 也很重要,且通常为空。可在该目录中添加一个空文件(/usr/local/sbin/empty)以表明其为空状态。
/srv:用于存放与互联网相关服务的文件,例如 WWW 上传文件、FTP 文件和 CVS 文件,但该目录可能为空。其使用具有随意性且并不常见。
/opt:用于第三方软件或独立软件。它对于测试新软件非常有用。如果该目录为空,则会添加一个空文件(opt/empty)。
共享目录:可能与 /finance、/data 或 /hr 相关联,这些目录对特定群组具有特殊权限。由于其中可能包含独特的公司数据,因此必须进行备份。仅在需要时才创建此类目录。
方法一:使用 cp 命令备份 Linux 目录
cp(复制)命令用于复制文件或目录,主要有三种操作模式:将一个文件复制到其他位置、将多个文件复制到一个目录中,以及将整个目录复制到其他位置。
选项:
Parameter
Description
|
--归档, -a |
在复制过程中保留文件和目录的属性与权限。 |
|
仅属性 |
仅复制文件属性。 |
|
--备份[=CONTROL] |
备份所有当前目标文件。 |
|
--复制内容 |
递归复制特殊文件内容。 |
|
--force,-f |
除非使用了 `-n` 参数,否则将删除并重试打开现有的目标文件。 |
|
--交互式,-i |
覆盖之前的 -n 标志前进行确认。 |
|
--保留[=属性列表] |
保留包含的属性。 |
|
--remove-destination |
在打开目标文件之前,先删除所有现有的目标文件。 |
|
--符号链接,-s |
创建符号链接。 |
|
--后缀=SUFFIX,-S |
覆盖备份后缀。 |
|
--帮助 |
显示帮助菜单,然后退出。 |
1. 将包含所有内容的目录复制到另一个目录。
cp -r <源目录> <目标目录>
2. 备份目标目录中的现有文件。
cp --backup <文件名> <目标目录>
3. 在 Linux 上复制多个目录。
$ cp -R <源文件夹1> <源文件夹2> ... <源文件夹n> <目标文件夹>
4. 复制 /etc 目录和 home 目录。
$ cp -R /etc/* /home/* /backup_folder
5. 递归复制目录内容。
$ cp -R <源文件夹>/* <目标文件夹>
方法 2:使用 Tar 备份 Linux 目录
Tar(磁带归档)可将文件和目录压缩为 tarball,并支持以 tar、gzip 和 bzip 格式创建备份。
选项:
Parameter
Description
|
-c |
创建一个 tar 归档文件。 |
|
-x |
从 tar 归档文件中提取内容。 |
|
-t |
显示 tar 归档文件中的文件列表。 |
|
-r |
在 tar 归档文件中添加一个额外的文件。 |
|
- W |
验证 tar 归档文件。 |
|
-z |
使用 gzip 创建 tar 归档文件。 |
|
-j |
使用 bzip 创建 tar 归档文件。 |
|
-v |
显示详细信息。 |
|
-f |
指定归档文件名。 |
1. 创建目录的 tar 归档文件。
tar -cf 归档文件名.tar 源目录
2. 从 /etc 目录创建一个 bz2 归档文件。
tar -cjf 归档文件名.bz2 /etc
3. 从 /user 目录创建一个 tar.gz 归档文件。
tar -czf 归档文件名.tar.gz /use
4. 解压 tar 归档文件。
tar -tvf 归档文件名.tar
5. 解压 tar.gz 归档文件。
tar -xzvf 归档文件名.tar.gz
6. 解压 tar.bz2 归档文件。
tar -xjvf 归档文件名.tar.bz2
7. 将 tar 归档文件解压到其他目录。
tar -xvf 归档文件名_tar -C / 目标目录
方法三:使用 Rsync 备份 Linux 目录
Rsync 是一款用于远程复制文件的工具,既可独立使用,也可集成到 Bash 脚本中。多种图形用户界面(GUI)都采用它,为 Linux 管理员提供了高度灵活性,能够完成几乎任何类型的备份任务。
您可以使用此基于 Linux 的工具备份整个系统、单个文件或目录。
选项:
|
参数 |
说明 |
|
-a |
确保复制过程以递归方式进行,并保留文件/目录的权限、所有者等属性。 |
请谨慎使用。
|
-v |
详细模式可增加终端中输出的日志数量。 |
|
|
-x |
限制 rsync 仅在文件系统边界内同步,排除主目录中的所有挂载点。 |
|
|
-p |
显示每次同步操作的进度,并在传输中断时保留已部分传输的文件。 |
|
|
--delete |
删除目标目录中源目录不存在的任何目录或文件。请谨慎使用。 |
|
|
--exclude-from=文件 |
排除列出的文件和目录。 |
有关完整选项,请访问 Rsync 网站。
1. 安装 Rsync。
sudo apt-get install rsync -y
启动并启用 Rsync。
sudo systemctl 启动 rsync
sudo systemctl 启用 rsync
2. 将 $HOME 目录备份到外部硬盘。
$ rsync -avxP --delete --exclude-from=/files/to/be/ignored_list.txt /home/external/drive/location
注意:如果您是首次使用 Rsync,请在 -avxP 后添加 -n 参数以进行模拟试运行。若命令运行符合预期,请移除 -n 参数,再执行不带 -n 的命令以完成备份。
3. 将 Linux 目录复制到远程主机。
$ rsync -ar <源文件夹> <目标用户>@<目标主机>:<路径>
4. 将 /etc/ 目录复制到备份服务器。
$ rsync -ar /etc username@xxx.xxx.xxx.xx:/etc_backup
5. 使用 bash 备份目录时显示当前日期和时间。
$ rsync -ar /etc/* username@xxx.xxx.xxx.xx:/etc_backup /etc_$(date "+%F")
方法4:使用Scp备份Linux目录
Scp(安全复制)可通过SSH连接或加密连接在不同主机间传输文件。您可利用它将远程计算机上的文件复制到本地系统,或将文件从一台远程计算机复制到另一台远程计算机,该工具在Linux、Mac和Windows系统上均可使用。
1. 将 Linux 目录复制到远程位置。
$ scp -r <源文件夹> <目标用户>@<目标主机>:<路径>
2. 将主文件夹中的所有文件复制到远程文件夹中。添加 -r 参数以递归方式复制文件。
scp /home/user/html/* username@server:/path/to/folder/
3. 将 /etc 目录复制到备份服务器。
$ scp -r /etc username@xxx.xxx.xxx.xx:/etc_backup
方法五:备份与恢复 Linux 文件/文件夹/服务器
您可以使用功能全面的Vinchin 备份与恢复软件,对文件、目录以及Linux 与 Windows 服务器进行备份和恢复。该软件支持主流 Linux 操作系统(如 Ubuntu、RHEL、CentOS),支持 15 种以上虚拟化平台(如 VMware、Hyper-V、Xen),支持6 种数据库及NAS,具备以下功能:
-
简化备份与恢复流程,并支持自动定时执行。
-
选择一个或多个要备份的文件/文件夹。
-
使用通配符排除或包含某种类型的文件。
-
通过 CIFS 和 NFS 协议将文件、文件夹和服务器备份到所有 NAS。
-
启用使用AES-256算法的数据加密。
-
通过加密传输轻松将数据还原至NAS共享/文件服务器。
您可以通过其直观的网页控制台轻松创建备份任务。
1. 选择 Linux 服务器
2. 选择备份存储位置
3. 选择备份策略
4. 提交任务
立即下载 Vinchin 备份与恢复软件的15天免费试用版,全面实现 Linux 系统备份与恢复。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
Linux 目录备份常见问题解答
问题1:备份目录时如何保留文件权限?
A:使用 rsync -a 或 tar -cp 参数,以便在备份过程中保留所有者、权限、ACL 和扩展属性。
Q2:如何从备份中排除动态系统目录?
A:使用排除模式,例如 --exclude=/proc/*、--exclude=/sys/*、--exclude=/dev/*,跳过虚拟文件系统和运行时文件系统,避免备份不必要的数据。
Q3:如何备份我的 LUKS 标头以用于灾难恢复?
A:使用 cryptsetup luksHeaderBackup --header-backup-file <文件> <设备> 安全地备份 LUKS 标头和密钥槽的二进制文件。
结论
在 Linux 系统中,对特定重要文件夹或目录进行备份至关重要。本文详细介绍了 Linux 中需要备份的关键目录,以及 5 种备份方法。前 4 种方法均基于命令行,用户既可在系统内直接执行,也可在安装完成后调用。此外,您还可使用 Vinchin 备份与恢复软件,在 Linux 和 Windows 系统中统一备份与还原所有重要文件、文件夹及服务器。