如何在 Debian 10 中备份文件和文件夹如何在 Debian 10 中备份文件和文件夹如何在 Debian 10 中备份文件和文件夹如何在 Debian 10 中备份文件和文件夹
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 10 中备份文件和文件夹

在 IT 领域,尽可能保留数据副本非常重要,以便在发生磁盘故障或被错误删除时需要时使用它。因此,在一天结束时定期进行备份是负责任的计算机用户的良好做法。

“rsync”命令通常用于复制大数据。但是,当在本地计算机上复制少量目录和文件时,也会使用“cp”命令。

在本文中,我们将了解如何在 Debian 10 中备份文件和文件夹。

先决条件

您需要具备以下条件才能完成本教程。

1.两台具有root权限的Debian 10机器

使用cp命令备份目录

我们要讨论的第一个命令是“cp”。它用于复制本地计算机上的少量文件和文件夹。因此,工业上实际上并未使用。

“cp”命令的语法如下。

cp -option1 -option2 源目标

为了便于理解,我们将把文件从 Desktop/log 复制到 Karim/logrot。在终端上运行以下命令。

cp -avr Desktop/log Karim/logro

a:用于保存目录属性,如文件模式、所有权、时间戳等。

r:用于递归复制主目录中的目录

v:用于详细输出

以下是示例输出。

如果要将所有文件、目录和子目录复制到另一个目录,可以使用 * 通配符。例如,以下命令会将现有目录 Desktop/log/ 中的所有数据复制到 Karim/logro/。

cp -avr Desktop/log/* Karim/logro/

以下是示例输出。

使用 rysnc 备份目录

正如我们已经说过的,最广泛使用的备份文件和文件夹命令是“rsync”。因此,让我们讨论一下它是什么以及如何使用它。

什么是 rysnc?

Rsync 代表远程同步,由 Andrew Tridgell 和 Paul Mackerras 于 1996 年 6 月 19 日编写。它是本地和网络计算机之间文件同步和传输的有效命令。它在大多数系统上默认可用。但是,如果它不可用,您可以借助以下简单命令来安装它(使用 root 权限运行命令)。

apt-get update
apt-get install rsync

在同步数据之前,您还需要在两台网络计算机上安装 ssh 客户端和服务器。在两台 Debian 1o 计算机上以 root 权限运行以下命令。

apt-get 安装 ssh

备份本地机器上的目录

在本地计算机上同步文件的基本语法如下。

rsync 选项 源目录 目标目录

如果您想保留所有权、权限、创建日期等元数据,则必须使用 -a 选项。如果要递归复制目录内的目录,则必须使用 -r 选项。

rsync -ar 源目录 目标目录

类似地,如果您想在同步过程中查看进度,请使用 -v 选项。命令应如下所示,

rsync -avr 源目录目标目录

假设我们要将位于 Desktop/log 的文件和文件夹同步到 Karim/logro,命令应如下所示。

rsync -avr Desktop/log Karim/logro

以下是示例输出。

让我们再讨论一个示例,假设我们有一个位于硬盘 1 (/media/hdd1/data-1) 的文件夹 data-1,并且您希望将其同步到位于 /media/hdd2/ 的第二个硬盘。完整的命令应如下所示。

rsync -avr /media/hdd1/data-1 /media/hdd2/

执行命令时,将在第二个硬盘驱动器中创建 data-1 目录,并将复制目标路径 /media/hdd2/ 上的所有内容。

通过网络备份文件和目录

通过网络传输数据时,语法略有不同。当您想要将本地目录与远程目录同步时,命令应如下所示。

rsync [-options] PathofSourceFolder 用户名@IPAddressofRemoteHost:PathofDestinationFolder

假设我的本地计算机中的 /home/karim/testfolder 有一个测试文件夹,并且我想将其同步到 /home/karim。远程用户是“karim”,机器 IP 地址是 10.1.1.2。在终端上运行以下命令。

rsync -avr /home/karim/testfolder [email :/home/karim/

一旦执行此命令,就会要求您输入远程计算机的密码。

以下是同步目录后的示例输出。

当您想要将远程目录与本地目录同步时,命令应如下所示。

rsync [-options] username@IPAddressofRemoteHost:PathofSourceFolder PathofDestinationFolder

假设我们有一个位于 /home/karim/ 的远程文件夹“testfolder”,我想与位置 /home/karim/ 的本地计算机同步。远程机器IP地址是10.1.1.2,用户名是karim。

在终端上执行以下命令。

rsync -avr  [email :/home/karim/ /home/karim/testfolder

以下是示例输出。

如何自动化备份

自动化备份更加方便,系统工程师无需担心每天手动执行命令和进行备份。

Linux 中有一个名为“crontab”的著名工具,用于自动执行备份过程。我们可以安排每天、每周或每月运行所有上述命令。如果您尚未在 Linux 发行版上安装 crontab,请使用 sudo 权限在终端上运行以下命令。

apt-get update
apt-get install cron

安装 crontab 后,在终端上运行以下命令以打开 crontab 编辑器。

crontab -e

示例输出应如下所示。

crontab 有以下五个字段,

m h dm m dw 命令

m:指定分钟(0-59)

h:指定小时(0-23)

dm:指定月份中的日期 (1-31)

m:指定月份(1-12)

dw:指定星期几(0-6,其中 0 是星期日)

让我们以前面将目录从一个磁盘同步到另一个磁盘的示例为例,假设我们希望每天中午 12 点执行此操作,则 cron 作业应如下所示。

0 0 * * *  rsync -avr /media/hdd1/data-1 /media/hdd2/

假设您想在每个月的星期日中午 12 点进行备份,则 cron 作业应编写如下。

0 0 1 * * rsync -avr /media/hdd1/data-1 /media/hdd2/

结论

您已经阅读了如何使用极其强大的命令“rysnc”进行备份。我们用“crontab”结束了这篇文章。 “rsync”和“crontab”也是一个有用的组合。

©2015-2025 艾丽卡 support@alaica.com