标签: backup

是否可以备份和恢复 Thunar 自定义操作?

我认为就文件管理器上下文菜单操作而言,Thunar 是最易于访问且易于管理的,尤其是该程序非常轻巧且易于安装。

我总是创建了很多这样的“自定义”,但我从未尝试过备份它们并在以后恢复它们。

是否可以?

在此输入图像描述

backup thunar file-manager

6
推荐指数
1
解决办法
1128
查看次数

rsync:为什么使用 --files-from=FILE 时 --archive 不暗示 --recursive ?

使用-ror--recursive会导致rsync递归到目录。-a--archive等于-rlptgoD,所以-a暗示-r

\n\n

如果我有目录source/并且dest/我运行:

\n\n
rsync source dest\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后rsync跳过source/并且不复制任何内容。如果我运行:

\n\n
rsync -a source dest\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后-a暗示-r并将其所有内容rsync复制到。source/dest/

\n\n

但是,如果我有一个list.txt包含该行的文件source,并且我的目录的完整路径source//home/user/source/,并且我运行:

\n\n
rsync -a --files-from=list.txt /home/user/ dest\n
Run Code Online (Sandbox Code Playgroud)\n\n

那么rsync只复制source/dest/但不复制其内容。如果我运行不带选项的命令,也会发生同样的情况-a

\n\n

但是如果我运行相同的命令-r

\n\n
rsync …
Run Code Online (Sandbox Code Playgroud)

command-line backup archive options rsync

6
推荐指数
1
解决办法
4652
查看次数

寻找合适的备份策略(borgbackup、restic 等)

我完全知道像这样的问题已经被问过多次。然而,由于阅读各种备份工具的大量文档并不能回答我的所有问题,我认为在这里描述我的场景以获得一些输入是很好的。

我想制定适合我的需求的备份策略。以下是要求的简要概述:

  • 开源软件
  • 命令行支持(不仅仅是 GUI)
  • 我想从多个设备进行备份和恢复。(所有设备都运行linux)
  • 我希望能够备份特定文件/文件夹,并忽略其他文件/文件夹
  • 我希望能够备份到多个目的地,例如:
    • 外接硬盘
    • 一些场外服务器(以防我的房子被烧毁)
  • 我想自动化备份,例如使用 cron
  • 我希望备份可以正确加密
  • 我希望对备份进行重复数据删除,因此只存储与上一个备份的增量。
  • 从备份恢复时,我希望能够直接使用恢复的备份作为备份新更改的新点。(想想 git-repository,您可以在将存储库克隆到新系统后直接推送新的更改)。

经过一些研究后,有两个计划在大多数情况下似乎都很合适:

使用 borgbackup 我发现两个问题:

  • 我可以通过两种方式恢复文件:熔断安装备份或直接提取备份。但是,在恢复时,我总是只获取文件。当我将备份恢复到新系统时,我必须重新设置所有存储库,以便从新主机运行新备份?那是非常不方便的。(再说一遍:我喜欢类似 git 存储库的行为,其中恢复的数据/存储库可以直接用于备份(推送)新数据。)
  • 我认为不可能为备份指定多个端点。例如,我可以将数据备份到远程服务器,但无法同步到外部硬盘。(请参阅:https://borgbackup.readthedocs.io/en/stable/faq.html#can-i-backup-from-multiple-servers-into-a-single-repository)。在我看来,冷存储备份(例如外部 HDD)似乎不太适合 borg。

与休息:

  • 本质上与博格相同。

所以,我的问题是,如何实现适用于上述场景的备份解决方案。borg 和 Restic 是适合这里工作的工具吗?如果是这样,我该如何处理我所描述的问题?如果没有的话,还有其他更好的备份软件吗?

backup data-recovery restore data borgbackup

6
推荐指数
1
解决办法
3205
查看次数

如何保证LVM2 LV在原始块级别的临时不变性?

我继承了一个 Azure VM (Ubuntu 20.04),它有一个 7 磁盘 VG,完全被格式化为 ext4 的 RAID5 LV 占用。

我需要进行备份,并希望使用 Azure 备份来为包含 VG 的 Azure 磁盘创建快照。

Azure 磁盘快照在时间点上不一致,因此出于文件系统完整性和 LVM 元数据的原因,我需要在备份运行时冻结存储。我的工作量可以忍受;我正在尝试找出使原始磁盘块暂时不可变的最佳方法。

fsfreeze- 我测试了冻结文件系统、拍摄快照、解冻,然后切换到快照。

在我有限的测试中,这工作正常,当“恢复”的磁盘换回时,我没有看到 LVM 带来任何可怕的情况,但我只能执行这么多测试,并且如果存在 1% 的边缘情况,我的磁盘元数据会丢失会不一致我可能找不到它。

我担心我将活动锁定在如此高的层:在活动时不会发生任何文件系统操作FIFREEZE ioctl,但这是否会阻止 LVM 执行任何类型的较低级别操作,例如元数据更新、RAID 相关活动?

然后我尝试了一下,感觉dmsetup suspend /dev/mapper/my-lvol这是一个更好的解决方案。

测试设置:

fsfreeze

  1. echo 3 > /proc/sys/vm/drop_caches
  2. sync ; sync(旧习难改 :)
  3. fsfreeze -f /export
  4. dd if=/dev/mapper/my-lvol of=/dev/null status=progress

运行dd直至完成。我承认这是有效的,因为我没有通过冻结的文件系统进行访问,但这让我想知道当我假设我的 Azure 磁盘不变时,LVM 是否仍然可以在低级别上执行操作。

dmsetup suspend

  1. echo 3 > /proc/sys/vm/drop_caches
  2. sync ; sync …

filesystems backup lvm device-mapper azure

6
推荐指数
0
解决办法
175
查看次数

Linux 安装程序中的“挂载点”是什么意思?

在安装 Linux 时,它会要求选择“挂载点”。我给了它/,但我不知道它的确切含义和目的。

另外,现在我想再创建一个挂载点,/home在我已经安装了带有挂载点的 Linux 的机器上/。是否可以从我当前的 Linux 安装中做到这一点?如果是,步骤/命令是什么?

我对“挂载点”的理解是,当我需要以/home更安全的方式保存我的内容时,如果我当前的 Linux 损坏,它不会被删除。例如,通过将硬盘从 Linux 损坏的机器上分离并连接到新的 Linux 机器上,我应该得到我的/home内容。

backup mount home system-installation

5
推荐指数
1
解决办法
3万
查看次数

如何备份外部备份驱动器的初始状态?

我拿起了一个HP Simplesave外置驱动器。它带有一些对我没有用的花哨的软件,因为我不使用 Windows。与当前许多面向消费者的备份驱动器一样,备份软件实际上包含在驱动器本身中。我想保存驱动器的初始状态,以便在我决定出售时可以恢复它。

备份盒本身有点定制:除了硬盘驱动器设备外,它在/dev/sr0. 我认为这个 cdrom 设备的目的是通过 Windows 自动播放位于磁盘本身的备份应用程序进行引导。我不认为它是如何做到这一点的任何保证,因此保留磁盘的确切状态似乎很重要。

该驱动器被格式化为一个 500GB 的 NTFS 分区。

我最初的想法是用来dd转储磁盘 ( /dev/sdb) 本身,但事实证明这是不切实际的,因为生成的文件并不稀疏。这似乎是因为 NTFS 空白空间不是用零填充,而是用 16 个字节的重复序列填充。

我尝试 gzip 输出dd. 这将文件缩小到可管理的大小——第一个 18GB 被压缩到 81MB,而 47MB 用于压缩已安装文件系统的内容——但是在我公认的有点废弃的 Pentium M 处理器上它非常慢。完成第一个 18GB 的​​时间大约是 30 分钟。

所以我不得不分别转储磁盘状态和分区数据。

还有什么我应该做的,以确保我可以恢复驱动器的精确原始状态?

backup ntfs cloning

5
推荐指数
1
解决办法
201
查看次数

我可以使用 rsnapshot 进行“测试运行”吗?

我偶尔会更改我的rsnapshot.conf,我想知道是否有任何方法可以进行同步到正常流程以外的位置的测试运行......不是interval. 这可能吗?如何?

backup rsnapshot

5
推荐指数
2
解决办法
6917
查看次数

增量系统备份和恢复 w/rsync 或 rdiff-backup 问题

我一直在阅读有关使用rsyncrdiff-backup对整个 Linux 系统进行增量备份的文章。我计划通过设置 Linux 系统、对其进行一些更改、擦除所有内容并恢复系统来实践这一点(所有这些都可以在虚拟机中方便地进行)。但在尝试之前,我想澄清一些事情:

  1. 如何精确控制备份中包含和排除的内容?即默认情况下会备份所有内容(包括不可见的“.”文件、垃圾箱等)吗?如果是这样,我如何排除其中一些?
  2. rdiff-backup 教程告诉您如何从过去的任意时间检索文件(只要您还有备份)。如果我想在新计算机上恢复完整系统怎么办?我怎么做?
  3. 假设我在机器A上备份了我的系统,几年后我买了一台新电脑B,想从机器A的备份中恢复我的系统。由于硬件可能完全不同,我的新系统在我尝试在恢复后启动它?如何确保顺利恢复到新机器上?

感谢您的回答。

backup rsync rdiff-backup restore

5
推荐指数
1
解决办法
2889
查看次数

检测到设备已安装到特定文件夹?

作为改进备份方案的一部分,我现在添加了旋转外部硬盘驱动器,使一个始终安全地离开现场,而另一个则在接收备份数据。自然地,为了确保我的备份真正完成,备份将被编写和 cron'd。

我的计划是手动插入并安装硬盘驱动器,然后将其留在那里,直到需要卸载它(再次手动),将其拿走,放入下一个,然后(手动)安装那个。两个驱动器都将挂载到例如 /mnt/backup。

现在,问题来了:如果我忘记插入或安装硬盘驱动器,我不希望备份脚本运行。所以我需要能够在允许脚本运行之前检测是否有设备安装到 /mnt/backup 。我的第一个想法是在(未挂载的)/mnt/backup 目录中放置一个名为例如“NO_DRIVE_MOUNTED”的文件,然后在运行备份例程之前确保它存在,但这只是感觉很hackish。(同样,将一个名为“BACKUP_DEVICE_READY”的文件放在每个外部硬盘驱动器中并检查该文件是否存在的反面感觉就像黑客一样。)

有没有更好的方法来检测设备是否安装到给定目录?我宁愿避免检查设备本身,因为我的经验是在 Linux 中插入一个驱动器只会将它分配给下一个可用的 /dev/sdX,所以虽然有一天备份驱动器可能是 /dev/sdf,如果我下次连接备份驱动器时插入不同的驱动器,它是 /dev/sdg,这意味着对 /dev/sdf 的测试将失败!我还希望避免特定于设备的标识(例如通过 UUID),以便我可以更轻松、更透明地更换/升级驱动器。

这将在 Ubuntu 10.10 上(如果我拖得够久,可能是 11.04,因为我正在重建整个服务器的过程中),理想情况下,我想要一个简单的单行测试,我可以添加前缀我的备份命令直接在我的 crontab 中(但如果有必要,我也不怕 Bash 脚本)。

linux backup mount block-device

5
推荐指数
1
解决办法
3801
查看次数

将文件从 Mac 同步到闪存驱动器 - 自动吗?

我有一个闪存驱动器,让我们命名它 FLASH

我想,当在我的 mac 上时,当FLASH插入(并自动安装)时,执行特定的脚本并使其~/Documents自动复制到/Volumes/FLASH/Documents(mac 将驱动器安装在/Volumes)。

同一个驱动器,,FLASHDocuments之前用mac情况添加了这个新文件夹),当插入Ubuntu机器时,我希望它自动复制FLASH/Documents~/Documents(或在安装后自动执行脚本)。

在这些不同的场景中,我应该如何做到这一点?我不想为此使用第三方应用程序,我更喜欢使用两个平台中都可用的核心/内置工具。

ubuntu backup rsync macintosh

5
推荐指数
1
解决办法
1394
查看次数