将我的媒体库从 Ubuntu 备份到外部硬盘的最佳方法是什么?

将我的媒体库从 Ubuntu 备份到外部硬盘的最佳方法是什么?

我的媒体库不大,但也不小(约 50 GB)。每个月左右,我都会手动将~/Music~/Pictures~/Videos复制到我的 EHD,然后删除旧备份。但这远非理想。首先,它非常慢(总共约 50 GB)。它也没有版本控制,所以如果我想返回多个版本,我就没那么幸运了。

有没有简单、稳定、渐进的方式来做到这一点?我愿意使用传统的版本控制系统,比如 Git,尽管我以前除了代码之外没有用过它们。命令行很好(特别是如果它是可脚本化的)。我只需要备份这 3 个文件夹——任何不是媒体的东西都存储在我的Dropbox。 有任何想法吗?

编辑:这是我最终使用的脚本(感谢 Mistiry):

#!/bin/sh

rsync --delete --size-only -ravv /home/matthew/Music "/media/My Passport/backup/Music"
rsync --delete --size-only -ravv /home/matthew/Pictures "/media/My Passport/backup/Pictures"
rsync --delete --size-only -ravv /home/matthew/Videos "/media/My Passport/backup/Videos"

我发现--progress它不是特别有用,因为我的音乐是按专辑组织的,每张专辑只有大约 100mb。如果可以显示整个rsync操作的进度,那会更有用。

我曾经--delete这样做过,如果我在本地清理我的库,它也会清理备份。

只是vv将其置于详细模式,因为我是新手rsync,我想知道是否出现任何问题。

答案1

使用该程序rsync,其工作方式类似于增量备份,不会备份未改变的文件。

这里有几个不同的选项(显然,更改目标目录。我在示例中使用了 /mnt/usb):

rsync -ra ~/Music /mnt/usb

这会r递归地A档案同步您的文件,这意味着它将复制所有内容(包括目录),并保留所有权、时间戳等。

rsync -r --size-only ~/Music /mnt/usb

这会r递归地同步您的文件,仅使用文件大小来比较文件(需要更少的 CPU 能力,因此速度更快)。

rsync -raz --progress --size-only ~/Music /mnt/usb

这会r递归地A档案C压缩同步文件(z 表示压缩),仅使用文件大小来比较文件,并在同步之前压缩它们。这需要更多 CPU,因此速度较慢。

(注:-ra与 相同-a。此处,-r只是为了清晰起见才包含的。)

由于这是您定期要做的事情,因此您可以将类似这样的内容添加到您的 crontab(运行crontab -e以更改您的 crontab):

* 21 1 * * /usr/bin/rsync -r --size-only ~/Music /mnt/usb
* 22 1 * * /usr/bin/rsync -r --size-only ~/Pictures /mnt/usb
* 23 1 * * /usr/bin/rsync -r --size-only ~/Videos /mnt/usb

在上面的例子中,每月 1 日的晚上 9 点,您的~/Music目录将同步到/mnt/usb。晚上 10 点~/Pictures和晚上 11 点,~/Videos

相关内容