标签: backup

Rsync 不会跳过现有文件

我使用 rsync 将连接到我的 Mac (Osx 10.9) 的 USB 驱动器中特定文件夹中的所有文件备份到我的家庭网络 NAS 的文件夹中。
问题是 rsync 替换所有文件并且它不会跳过现有文件。我错在哪里?我使用 rsync 3.0.9。

rsync -avzh --delete --progress --filter='-p .DS_Store' /Volumes/USBDrive/Foto/* /Volumes/Nas/Foto
Run Code Online (Sandbox Code Playgroud)

backup rsync

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

理想的 btrfs 存储方案,将外部 USB 硬盘作为备份介质

有没有办法利用 btrfs 的高级功能(COW、快照等)将我的主存储卷连续备份/镜像到外部 USB 硬盘?

backup btrfs

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

自动可靠的数据备份

我的电脑上有很多无损音乐。不幸的是,有时(现在很少)它们会损坏,我不得不用外部硬盘驱动器的备份替换它们。

备份是手动完成的,当然很乏味。随着我的音乐收藏越来越多,手动找到没有存档的专辑变得越来越困难。

这种情况下的最佳解决方案是什么?简单地cp-ing?一些rsync用法?我宁愿不更新现有文件 - 它们几乎不会改变,我不想删除带有损坏文件的好文件。

backup

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

使用 rsync 保留在目录/文件夹上修改的日期

我正在尝试备份发生故障的硬盘驱动器,并且 rsync 将是理想的选择,因为它具有诸如进度指示器和停止和恢复能力等功能。我遇到的一个问题是,虽然文件日期修改属性被保留,但目录获得新的日期属性。这会导致问题,因为我按日期对许多文件进行排序,因此我知道最近添加了什么。是否可以使用 rsync 保留目录日期修改属性:

sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/
Run Code Online (Sandbox Code Playgroud)

-t(包含在 -a 中)选项保留文件属性但不提及目录。/mnt/new 分区的所有权/权限是否有任何特殊要求才能成功保留某些属性?

backup rsync synchronization

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

“一次写入存档”:ext2 vs ext4^has_journal vs

概括

假设一个人正在将一个外部驱动器设置为“一次写入存档”:一个人打算重新格式化它,复制一些(希望)永远不会更新的文件,然后将其放在一边,直到我需要阅读某些内容(这可能是很长一段时间或永​​远不会)来自另一个Linux机器的存档。我还希望能够在存档中获得尽可能多的文件空间;即,我希望文件系统为其自身目的消耗尽可能少的可用空间。

特定问题 1:哪个文件系统更适合此用例:ext2 或 ext4 没有日志记录?

由于我以前从未做过后者(我通常用GParted做这种事情),为了确定:

具体问题 2:是安装无日志 ext4 的“方式”mke2fs -t ext4 -O ^has_journal /dev/whatever吗?

一般问题 3:这个用例有更好的文件系统吗?还是完全不同的东西?

细节

我在各种外部驱动器上保存了来自死盒(因此永远不会更新)上的旧项目的一堆文件。总大小(文件)~= 250 GB。这对于 DVD 来说太大了(即,需要太多——除非我遗漏了什么),而且我没有磁带驱动器。因此,我正在设置一个旧的 USB2 HFS 外部驱动器作为他们的存档。我更喜欢使用“真正的 Linux”文件系统,但也更喜欢一个文件系统

  1. 占用存档驱动器上的最小空间(因为它几乎不足以容纳我想要放在上面的东西。
  2. 可以从我将来使用的任何(大概是 Linux)盒子中读取。

我计划使用 GParted 执行以下顺序:[删除旧分区,创建单个新分区,创建 ext2 文件系统,重新标记]。但是,我读到这里

recent Linux kernels support a journal-less mode of ext4
which provides benefits not found with ext2
Run Code Online (Sandbox Code Playgroud)

并注意到以下文字 man mkfs.ext4

"mke2fs -t ext3 -O ^has_journal /dev/hdXX"
will create a filesystem that does not have a …
Run Code Online (Sandbox Code Playgroud)

filesystems backup ext4 ext2 journaling

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

如何将文件分片成 n-out-of-m 冗余(擦除代码,例如一种芦苇所罗门)?

如何将文件分片filem 个文件,以便可以用其中任意n 个文件恢复?

它看起来像Erasure Code,最好是“最佳擦除代码”。(另一个应用程序和建议的编程库示例:“您需要擦除代码” /sf/answers/2025246681/)。这就像Reed-Solomon 纠错(比RAID6更灵活)风格的冗余。

早期发现:rsbep到目前为止,我已经发现了一些修改,但它们似乎是针对不同的用例设计的。我还发现从 Linux 内核移植到用户空间的 reed-solomon 在这里,但它不是我所描述的目的的工具。

3-out-of-6 冗余级别示例:

split_with_redundancy -n 3 -m 6 input.dat
Run Code Online (Sandbox Code Playgroud)

生成input.dat.0..5,因此这些文件的任何树都足以恢复:

recover_using_redundancy intput.dat.{0,2,4}
Run Code Online (Sandbox Code Playgroud)

我不关心给定文件中的错误,即我不需要Forward Error Correction。我假设我可以依靠让 n-out-of-m 冗余部分完全正确。

backup redundancy

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

lftp 将本地目录镜像到远程 ftp 服务器而不删除本地丢失的远程文件

我有以下命令:

lftp -e 'mirror -R /local/backups /' -u username,password ftp://FTP_SERVER
Run Code Online (Sandbox Code Playgroud)

这很好用,直到我开始清理/local/backups文件夹。我想将新文件上传到我的FTP_SERVER而不删除那些不再存在于本地的文件。

我已经尝试了额外的标志:

--only-missing
--only-newer
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用。有可能吗?我知道 rsync 有这样的选项,但这不适用于 FTP 服务器。

backup lftp

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

精简使用硬链接的备份的最有效方法

我有一个备份磁盘,其中包含来自不同日期的同一台机器的数百个备份。备份是使用 rsync 和硬链接进行的,即如果文件没有更改备份脚本,则只是在旧备份中创建到文件的硬链接。因此,如果一个文件永远不会改变,你有本质上的备份磁盘一个副本,但说100个硬连接到它代表每个日期的备份每个目录(比如back-1back-2... back-n)。如果我想精简它,我会删除其中的一个子集,但不是全部。假设我想删除back_5, back_6, ... back_10(仅举个例子,在我真正的 szenario 中还有更多)。然后我尝试通过以下方式对其进行并行化:

echo back_5 back_6 back_10 | xargs -n 1 -P 0 rm -rf
Run Code Online (Sandbox Code Playgroud)

这需要几个小时。那么有没有更快的方法来做到这一点?

command-line filesystems backup parallelism

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

Duplicity + Amazon S3 冰川。多少“解冻”才能恢复备份

自从我上次进行 Duplicity 备份 [到 Amazon S3] 已经有几个月了,与此同时,由于我对 Amazon 存储桶的自动 30 天规则,我的 S3 备份已从“正常”减少Amazon Glacier 的冗余存储。

现在,当我运行时,duply <backupname> verify -v9我看到输出在最后被挂断,如下[这是在让它运行一夜之后,因为每次从 Glacier 恢复需要几个小时]:

-------------------------
Chain start time: Sun Dec  1 14:49:39 2013
Chain end time: Fri May  1 20:18:38 2015
Number of contained backup sets: 16
Total number of contained volumes: 1438
 Type of backup set:                            Time:      Num volumes:
                Full         Sun Dec  1 14:49:39 2013               318
         Incremental         Wed Dec 11 13:21:16 2013                 1
         Incremental         Wed Dec 18 19:48:07 2013                15 …
Run Code Online (Sandbox Code Playgroud)

backup duplicity amazon-s3 aws

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

递归移动(`mv -rn`,类似`cp -rn`),只移动不存在文件的移动

语境

我有用户上传的内容需要备份。内容超过 3 个独立的服务器/var/www/domain/media/(在每个服务器上它都在同一个地方)。备份是 NFS 安装的 RAID,位于/var/www/domain/bak/.

media/由不同的用户拥有bak/,基本上 webapp 可以写入media/但只能读取bak/(用户只能删除他们的上传,直到它在格林威治标准时间 00:00 备份)。

这导致了两个问题:用户可以强制使用相同的文件名覆盖备份中的文件,并且文件中的文件media/最终可能会出现在两个不同的服务器上(如果用户上传两次并且得到了服务,则完全相同的文件)一个不同的服务器)。

所有这些都运行在 4 个 CenOS 7(网络 X 3 + 备份 X 1)上。“Web”服务器的磁盘空间有限,需要将内容移至备份服务器以防止它们填满磁盘。

没有竞争条件,这样的东西我们并不需要关心。备份是从单个备份机器完成的,通过ssh在其他三台机器上依次执行命令。


当前解决方案

在清除重复项后完成要备份的文件的“移动”:

find /var/www/domain/media/ -type f | > media
find /var/www/domain/bak/ -type f | awk '{a=gensub("bak","media",1); print a}' > bak
cat bak media | sort | uniq -d > dupes
cat dupes | xargs rm
cp -r /var/www/domain/media/* …
Run Code Online (Sandbox Code Playgroud)

backup cp rsync files mv

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