linux中如何备份一个文件夹

Linux中,可使用tar命令备份文件夹,如`tar -cvpzf backup.tar.

2024-10-25
在Linux中,可以使用cp命令备份文件或文件夹,要备份名为file.txt的文件到名为backup.txt的文件中,可以使用以下命令: cp file.txt backup.txt,如果要备份整个目录,需要使用-r选项, cp -r /home/user/source /home/user/destination}

linux中如何备份一个文件夹

使用 cp 命令备份文件夹

cp 命令是 Linux 系统中最常用的文件和目录复制命令之一,可用于备份文件夹。

参数 说明
-a 归档模式,会递归复制目录及其中的内容,并保持文件属性(等价于 -dR --preserve=all
-r 递归复制目录及其子目录中的所有文件和子目录
-u 仅当源文件比目标文件新时才进行复制
-v 详细模式,显示复制过程中的文件名

示例命令

cp -r /path/to/source_folder /path/to/destination_folder

此命令会将 /path/to/source_folder 文件夹及其所有内容复制到 /path/to/destination_folder 位置,如果想要在目标位置创建一个备份副本,同时保留源文件夹不变,可以指定不同的目标路径,例如将备份存放在当前目录下的 backup 文件夹中:

cp -r /path/to/source_folder ./backup

使用 tar 命令备份文件夹

tar 命令可以将多个文件和目录打包成一个单一的归档文件,并且可以结合压缩选项来减小备份文件的大小。

参数 说明
-c 创建一个新的归档文件
-v 显示处理过程中的文件名
-f 指定归档文件的名称
-z 使用 gzip 压缩归档文件
-j 使用 bzip2 压缩归档文件
-J 使用 xz 压缩归档文件

示例命令

tar -czvf backup.tar.gz /path/to/source_folder

该命令会将 /path/to/source_folder 文件夹打包成一个名为 backup.tar.gz 的 gzip 压缩归档文件,如果不想使用压缩,可以去掉 -z 参数:

tar -cvf backup.tar /path/to/source_folder

这样会生成一个未压缩的 .tar 归档文件。

linux中如何备份一个文件夹

使用 rsync 命令备份文件夹

rsync 是一个功能强大且灵活的文件复制和同步工具,它可以在保留文件权限、时间戳等属性的同时,高效地备份文件夹,并且支持增量备份,即只备份发生变化的部分。

参数 说明
-a 归档模式,保持文件属性,等同于 -rlptgoD
-v 详细模式,显示传输过程中的文件名
-z 传输时压缩数据
--delete 删除目标目录中源目录中不存在的文件

示例命令

rsync -avz /path/to/source_folder /path/to/destination_folder

此命令会将 /path/to/source_folder 文件夹的内容同步到 /path/to/destination_folder,并且在传输过程中进行压缩,如果希望每次备份都在目标目录中创建一个带有时间戳的子目录,以便区分不同时间的备份,可以使用 --link-dest 参数结合日期命令:

rsync -avz --delete /path/to/source_folder /path/to/destination_folder/$(date +%F)

这样每次执行该命令时,都会在目标目录下创建一个以当前日期为名称的子目录来存放备份。

编写脚本实现自动化备份

为了方便定期备份,可以编写一个简单的 shell 脚本,并将它设置为定时任务(如使用 cron)。

示例脚本

#!/bin/bash
# 定义源文件夹和目标备份目录
SOURCE_DIR="/path/to/source_folder"
DEST_DIR="/path/to/backup_folder"
# 获取当前日期,用于创建带时间戳的备份目录
CURRENT_DATE=$(date +%Y-%m-%d)
# 创建目标备份目录(如果不存在)
mkdir -p "$DEST_DIR/$CURRENT_DATE"
# 使用 rsync 进行备份
rsync -avz --delete "$SOURCE_DIR" "$DEST_DIR/$CURRENT_DATE"

将上述脚本保存为 backup.sh,然后赋予执行权限:

linux中如何备份一个文件夹

chmod +x backup.sh

接着可以使用 crontab -e 命令编辑 cron 定时任务配置,添加如下行来每天凌晨 2 点自动执行备份脚本:

0 2 * * * /path/to/backup.sh

相关问答FAQs

问题1:如何在 Linux 中使用 cp 命令备份文件夹并保留文件权限?
答:可以使用 cp -a 命令,-a 参数表示归档模式,会递归复制目录及其中的内容,并保持文件属性(等价于 -dR --preserve=all)。cp -a /path/to/source_folder /path/to/destination_folder

问题2rsync 命令中的 --delete 参数有什么作用?
答:--delete 参数会删除目标目录中源目录中不存在的文件,在使用 rsync 进行同步备份时,如果目标目录中存在一些在源目录中已经删除的文件,

各位小伙伴们,我刚刚为大家分享了有关linux中如何备份一个文件夹的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/13289.html

(0)
酷番叔酷番叔
上一篇 2025年8月19日 12:17
下一篇 2025年8月19日 12:22

相关推荐

  • Linux中如何查看系统用户信息?

    在Linux操作系统中,用户管理是系统运维的基础操作之一,查看用户信息可以帮助管理员了解系统中的用户账户、登录状态、权限分配等情况,本文将详细介绍Linux中查看用户的多种方法,涵盖命令行工具、配置文件解析以及高级过滤技巧,并结合实际示例说明各命令的使用场景和输出含义,查看当前登录用户当前登录用户是指正在与系统……

    2025年10月4日
    7800
  • 腾讯云Linux登录密码如何设置与使用?

    腾讯云Linux实例的登录密码管理是用户运维过程中的基础操作,涉及初始密码获取、密码重置、密码修改等多个场景,本文将结合腾讯云控制台操作与Linux系统命令,详细说明不同场景下的密码登录方法及注意事项,帮助用户安全高效地管理实例登录凭证,初始密码获取与说明腾讯云创建Linux实例时,默认不会直接显示root用户……

    2025年10月4日
    11600
  • Linux如何释放IP地址?命令行操作步骤详解

    在Linux系统中,IP地址的释放操作通常发生在需要重新获取动态IP、切换网络配置或排查网络故障等场景,Linux系统下IP地址的管理方式因网络配置类型(动态DHCP或静态)和发行版的不同而有所差异,本文将详细介绍不同场景下释放IP的方法及注意事项,动态DHCP IP的释放方法当Linux系统通过DHCP协议自……

    2025年9月20日
    13200
  • Linux系统中,如何正确关闭asmcmd命令行工具?

    在Linux系统中,asmcmd是Oracle Automatic Storage Management(ASM)提供的重要命令行工具,主要用于管理ASM磁盘组、文件、目录等对象,用户提到的“关掉asmcmd”可能存在多种理解场景,例如退出当前asmcmd会话、停止与asmcmd关联的ASM实例进程、禁用asm……

    2025年9月9日
    13400
  • Linux如何访问GPT分区?操作步骤与方法详解

    在Linux系统中访问GPT(GUID Partition Table)分区是常见需求,尤其在使用大容量硬盘或多操作系统环境下,GPT作为MBR分区表的替代方案,支持更大的分区和更多的分区数量,现代Linux内核已原生支持GPT,无需额外驱动,以下是详细访问步骤和工具使用方法,确认系统对GPT的支持现代Linu……

    2025年8月27日
    13900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信