我正在尝试备份我的 /home 以将所有数据从一台计算机传输到另一台计算机。我想将备份保存在同一台计算机上,然后将其转移到另一台计算机上。出于安全原因,我正在尝试了解它在没有大量数据(新数据)的情况下如何在计算机上工作,以确保我不会删除某些内容而不是复制它。
我在终端运行:
sudo rsync -avz /home/maria /home/guest/backup
Run Code Online (Sandbox Code Playgroud)
结果是:
sent 58797801 bytes received 23050 bytes 4705668.08 bytes/sec
total size is 100202958 speedup is 1.70
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]
Run Code Online (Sandbox Code Playgroud)
我又试了一次,结果是一样的。我不知道哪些文件没有传输,是什么让整个备份对我毫无用处(我想自动进行备份以免忘记某些事情并丢失它)。
在两台计算机上,我都有相同的系统(Ubuntu 10.04)。Rsync 版本:3.0.7-1ubuntu1。
感谢您的任何提示
有没有办法,我可以备份我所有的程序,所有的应用程序,把它们放在一个目录或什么的地方,这样我下次就可以快速安装它们,而不必手动通过应用程序中心,从终端下载它们等等?
请注意,我可能会从不同于导出它们的发行版导入它们。所以,假设我在 Ubuntu 中,导出了一些东西,然后安装了 BT 并想从那里导入它们。
我想使用 rsync 用驻留在 Mac 上的磁盘备份我的 Ubuntu 服务器。但是我没有让它正常工作,因为每次我在初始时间之后重新运行 rsync 操作时,都会首先删除带有特殊字符的文件,然后重新同步。似乎不同的字符集有问题。
在首选的解决方案似乎是使用--iconv选项:
您可以使用 rsync 的 --iconv 选项在 UTF-8 NFC 和 NFD 之间进行转换,至少如果您使用的是 Mac。有一个特殊的 utf-8-mac 字符集代表 UTF-8 NFD。因此,要将文件从 Mac 复制到 NAS,您需要运行以下命令:
rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/这会将远程服务器上的所有本地文件名从 UTF-8 NFD 转换为 UTF-8 NFC。文件的内容不会受到影响。
感谢@Jan,我从 2.6.9更新了我的 mac 上的 rsync 版本。到 3.1.1。尽管如此,我仍然没有完全到位,因为我现在收到一个进一步的错误:
iconv_open("UTF-8", "utf-8-mac") failed
rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in …Run Code Online (Sandbox Code Playgroud) 我已经设置了我的备份文件夹并打开了自动备份开关。在概览选项卡中,我无法按“立即备份”,因为它是灰色的。
我使用的是 Ubuntu 11.10,这里是 ~/.gconf/apps/deja-dup/%gconf.xml 的内容:
$ cat ~/.gconf/apps/deja-dup/%gconf.xml
<?xml version="1.0"?>
<gconf>
<entry name="delete-after" mtime="1328975617" type="int" value="7"/>
<entry name="periodic-period" mtime="1328975577" type="int" value="1"/>
<entry name="exclude-list" mtime="1328975572" type="list" ltype="string">
<li type="string">
<stringvalue>/home/r2d2/.local/share/Trash</stringvalue>
</li>
</entry>
<entry name="periodic" mtime="1328988637" type="bool" value="true"/>
<entry name="backend" mtime="1328975520" type="string">
<stringvalue>file</stringvalue>
</entry>
</gconf>
Run Code Online (Sandbox Code Playgroud) Deja-dup(现在是 Ubuntu Backup)只是一个用于双重性的 GUI,因此它应该将配置文件存储在某个地方。我想将备份卷大小更改为 300MB 并增加 --full-if-older-than 变量。这可能吗?

我更换了笔记本电脑上的磁盘并在新磁盘上安装了 Ubuntu。旧磁盘从 12.04 升级到 12.10。现在我想用 WiFi 密码、nautilus 的 ftp 密码和 ssh 密钥密码复制我的旧钥匙圈。
我有旧磁盘上的全部数据可用(现在是一个 USB 磁盘,我还没有删除旧数据或对它做任何事情 - 我仍然可以将它放在笔记本电脑中并像什么也没发生一样从它启动)。在我的笔记本电脑中的新光盘上,我安装了 12.10,其密码、用户 ID 和用户名与旧磁盘上的相同。然后,我复制从旧盘的几个重要的配置文件(例如~/.firefox/,~/.mozilla,~/.skype等等,这些都工作得很好......除了密钥环:
仅仅复制旧的方法~/.gconf/...和~/.gnome2/keyrings将无法正常工作。我错过了什么?

1. 编辑:我认为还需要复制不在用户主目录中的文件。我将整个旧的/home/confus(这是我的主目录)复制到全新安装中,但没有任何效果。整个副本现在恢复到全新安装的主目录,所以我/home/confus的和全新安装后一样。
2.编辑:该文件夹/etc/NetworkManager/system-connections似乎是WiFi密码的地方。这可能/usr/share/keyrings对 ssh 密钥也很重要 - 这是搜索提出的唯一明智的做法:
find /usr/ -name "*keyring*
Run Code Online (Sandbox Code Playgroud)
3. 编辑:仍然没有来自密钥环的 ssh 和 ftp 密码。我做了什么:
/etc/NetwrokManager/system-connections,~/.gconf/和~/.gnome2/keyrings,复制~/.ssh到新磁盘。我的Déjà Dup备份变得非常大,我注意到它们包含大量不必要的文件(例如*.pyc文件、**__pycache__文件夹和其他与构建相关的临时文件)。
我知道我可以忽略特定文件夹,但是有没有办法按模式排除文件和/或文件夹?
我认为通过配置文件可能有更多可用的选项,但Déjà Dup不使用一个。所以我查看了重复性(它基于的 CLI),但手册页也没有提到配置文件。我知道Duplicity可以忽略基于模式 ( --exclude, --exclude-filelist) 的文件和文件夹,但我不知道如何将其与Déjà Dup结合起来。
我是否必须放弃 Déjà Dup并手动使用双重性?还是有一种方法来设置所需要的选项,因此它们可以自动使用,当两面三刀所使用的DéjàDup的?
我想自动执行本地备份我的 Gmail 帐户的过程,并且正在寻找一种解决方案:
有哪些资源可用于在 Ubuntu 中执行此操作?
我想备份我添加到 Ubuntu 软件中心的所有存储库,但显然sources.list只包含属于 Canonical的存储库。
那么我在哪里可以找到其他的呢?
我的 /home 分区由整个物理磁盘组成。它被格式化为 btrfs。我想截图。我对子卷命名感到困惑,特别是。
我知道有类似的问题,但每个类似的问题似乎都在问与我所问的不同的问题(而且它们更旧,这意味着考虑到 btrfs 的快速发展,这意味着可能已经过时了)。例如,这个问题的答案显然不是我问题的答案,因为我的 /home 分区是一个单独的卷,而 btrfs 的手册页显示了一个不同的命令来创建快照。
另一个类似的问题,没有可靠的解决方案。
其他人和我一样对命名问题感到困惑
从简单开始:这是对我的主分区进行简单快照的正确命令吗?
btrfs subvolume snapshot /home/@home /home/@home_snapshot_20120421
Run Code Online (Sandbox Code Playgroud)
我真的很勇敢并对其进行了测试,但它不起作用。错误是error accessing /home/@home。如下图,列出了@home。
我显然对子卷名称感到困惑。我需要在创建快照时使用它们吗?一些示例显示使用/home作为源参数拍摄 home 的快照,但基于根卷的示例,在我看来,我需要使用/home/@home.
这个命令能用吗?如果不是,为什么?
btrfs subvolume snapshot /home /home/@home_snapshot_20120421
Run Code Online (Sandbox Code Playgroud)
是@只是一个命名约定?有意义吗?
以下是一些可能相关的输出:
btrfs subvolume list /home
ID 256 top level 5 path @home
Run Code Online (Sandbox Code Playgroud)
我不确定这到底是什么意思。当我尝试时,btrfs device scan它给出了一个错误(例如,无法扫描设备 /dev/sda1)。我的文件系统没有任何错误。一切安好。
这是我的分区。在回复一个回复时,没有 /home 不是我唯一的 btrfs 分区。
/dev/sda1: (boot partition) TYPE="ext2"
/dev/sda2: (root partition) TYPE="btrfs"
/dev/sdb1: …Run Code Online (Sandbox Code Playgroud)