在我的自动备份中,我不确定是否应该这样做。如果硬盘驱动器出现故障,或者如果我擦除硬盘并重新开始,使用新的 SSH 主机密钥对我的客户端有什么影响?除了从每个客户端的known_hosts文件中删除主机名之外,我还需要做任何特殊的事情吗?在这种情况下,最好的做法是什么?我打算在接下来的几天内擦拭我的电脑并从头开始。
客户需要一个外部驱动器的自动备份解决方案(每周异地)。我通常建议使用rsnapshot(或者可能推出自定义rsync脚本),但这个问题稍微复杂一些。
基于 Arch Linux 的系统是无头的,因此该解决方案必须完全自动化,无需用户干预。
理想情况如下:
我提出的解决方案包括:
udev规则自动安装驱动备份开始于:
udev规则也触发了一个rsnapshot脚本rsnapshot后rsnapshot退出,umount是跑在驱动器上
可以移除通知硬盘驱动器的可能方法:
如果在任何时候发生错误,请向用户发送电子邮件并卸载驱动器。
ssh钥匙?驱动器标签?好的,所以我在改进我的 Debian 服务器上当前的备份解决方案之后,刚刚通读了这个页面。Tar 似乎提供了一个相当不错的多卷功能,尽管当我尝试它时,它要求我提供Prepare volume #X for ‘mybackup.tar.gz’ and hit return:.
我应该如何自动执行此操作,因为我想在自动 CRON 脚本中使用此功能,在该脚本中没有人推动返回并输入多卷提示所需的任何内容。
使用split是唯一的方法吗?
我想备份 kvm 虚拟机并将机器的图像复制到另一个路径或 U 盘?如何复制“qemu 原始图像”?
是的,我知道这是经典。我已经用谷歌搜索了它,但它仍然不起作用。我有以下脚本:
#First go to SVN repo folder
cd $svnrepos
# Just make sure we have write access to backup-folder
if [ -d "$bakdest" ] && [ -w "$bakdest" ] ; then
# Now $repo has folder names = project names
for repo in *; do
# do svn dump for each project
echo "Taking backup/svndump for: $repo"
echo "Executing : svnadmin dump $repo > $bakdest/$repo-$bakdate.svn.dump \n"
# Now finally execute the backup
svnadmin dump $repo > $bakdest/$repo-$bakdate.svn.dump
# You can …Run Code Online (Sandbox Code Playgroud) 我想将大量文件复制到格式化为 FAT32 的 USB 驱动器(不幸的是,不能格式化任何其他文件)。
大部分这些文件与字符,如名称:和?该FAT32不允许。尝试使用cp或 时rsync,不会复制这些文件并报告错误说明。
我不想在源头重命名文件,但我也不关心文件在目标 USB 驱动器上重命名为什么。
目的说明(也适用于其他评论):这是用于汽车中的 mp3 播放器,该软件仅允许 FAT32。所以它不是用于备份目的。文件名包含奇怪字符的原因是因为它们是,例如 mp3 的标题或艺术家的名字。
我尝试了几件事:
--iconv选项。这似乎不起作用,但也许我没有正确使用它。rdiff-backup,我读过的默认情况下会进行此转换。但是,源文件是我想要遵循的符号链接(即 rsync 的-L选项),并且从联机帮助页中似乎rdiff-backup没有此选项。还有其他建议吗?
我有几个大磁盘,上面有备份/存档材料。他们是ext4。关于那些将被存储几年而不再次读取整个磁盘的那些,我一直在考虑刷新磁盘磁性状态的方法。在我一直在寻找答案的任何地方,驱动器的保质期似乎都是一个有争议的问题,但似乎在存储几年(比如 5 年左右)之后,以某种方式刷新数据是明智的(? )
我已经看到这个建议:
dd if=/dev/sda of=/dev/sda
Run Code Online (Sandbox Code Playgroud)
安全吗?有用吗?
我想做的是除 afsck或 a之外的另一件事dd if=/dev/sda of=/dev/null,这两者都可能会发现磁盘上现有的磁漏。
我想要做的是在磁盘上的磁荷低于可读水平之前刷新磁数据。我怎样才能做到这一点?
我在 Debian 上,我想重新分区我的驱动器并重新安装。是否有一种简单的方法可以在全新安装后恢复所有当前安装的软件包?
我正在考虑通过制作备份应用程序列表来做到这一点:
#generate list of installed packages
dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 > reinstallList.txt
Run Code Online (Sandbox Code Playgroud)
然后在进行全新安装后,我应该能够做到:
#install from backup at reinstallList.txt
sudo apt-get install $(< reinstallList.txt)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?
最近几天我一直在玩 obnam,虽然它看起来很有前途,而且似乎基本上提供了我在备份工具中想要的一切,但我对它的性能非常失望。事实上,它太慢了,我怀疑 obnam 在这里甚至没有错,而是我环境中的某些东西导致了它。
所以我主要想知道,是否还有其他人在使用 obnam 或者对它的内部结构有足够的了解来识别问题。
据我目前所知,obnam 似乎为每个备份的文件分叉了一个单独的 gpg 进程。从 htop、strace 和 iostat 来看,初始备份的速度主要受不断分叉的限制,而 CPU 和驱动器(不涉及网络)大多处于空闲状态,低于 20% 的利用率。
我的备份总计约 500.000 个文件,总共有 170 GiB 的数据。因此,对于每次备份运行,gpg 会分叉 500.000 次。我什至不感到惊讶的是,初始运行几乎需要一整天的时间,而在大多数文件未更改的情况下,另一次运行需要三个多小时。但这真的是 obnam 用户应该期望的性能吗?为了比较:rsnapshot(相同数据、相同机器、相同驱动器)的增量运行大约需要四分钟。当然,没有涉及加密,但这不应该那么重要。
所以,问清楚一点:其他人的机器是否也不能每秒运行 gpg(加密一小块数据)超过 50 次,最终使 obnam 成为一个几乎无法使用的缓慢工具?还是只有我一个人?
(FWIW,我的机器是带有 8G RAM 和 SSD 驱动器的 Core i5-2500,运行 Gentoo。备份到 HDD,但我无法观察到备份到 SSD 有什么区别,因为它不是 I/O -边界。)
出于备份的目的,我想通过 ssh 链接传输(几个)整个磁盘分区。源是块特殊设备,目标应该是常规文件。但是,常用工具似乎不适合于此:
scp 会抱怨 not a regular filetar 将尝试在目标端重新创建设备 inodersync 说 skipping non-regular file我目前最好的选择是nc通过端口转发,或cat在每个分区的远程端调用一次,这意味着每个分区输入一个密码,除非设置公钥。有没有更优雅的解决方案?
环境可以是任何合理的Linux live系统。目前我碰巧有一个 Debian wheezy,但它不应该太具体。