0

我正在使用 Carbon Copy Cloner 克隆我的硬盘驱动器,以准备全新安装 Mountain Lion。该过程似乎停留在从 robottinosino.sparsebundle 图像中复制带上。

为了检查“某物”是否在移动,我使用了这个非常粗糙的 CLI 脚本:

rsync -n -avv --delete /Users/robottinosino/robottinosino.sparsebundle/ /Volumes/AppleSSD_Clone_2012-09-03/Users/robottinosino/robottinosino.sparsebundle/ | grep -v ' is uptodate$' | grep bands | wc -l

我模拟rsync但不运行它(-n 选项),我过滤掉确认波段相同的行,仅选择描述仍需要复制的波段的行并计算仍待处理的波段数。

现在我想知道这个过程进展的速度有多快,说“每秒多少个波段”,因为它已经有几天了......如果它可以在它之前完成,我不想停止它周末。如果不能在周末之前完成,我最好现在停止它,因为无论如何我都必须中止。

假设我将上面的 hack 定义为 function x() { ... } 并使用这种可憎的方法来计算“bands/second”:

start_seconds=$(date +%s); bands_at_start=$(x); sleep 6; bands_at_end=$(x); end_seconds=$(date +%s); total_seconds=$((end_seconds-start_seconds)); total_bands=$((bands_at_start-bands_at_end)); bands_per_second=$((total_bands/total_seconds)); echo $bands_per_second

这给出了垃圾结果。

问题是我在做整数除法吗?我可以在 Bash 中进行浮点/双除吗?有没有更正常的方式使用 shell 脚本来做到这一点?

我是初学者,不要贬低我。在此先感谢您的帮助。

编辑:我正在尝试这个来规避整数除法:

bands_per_second=$(echo "scale=10; $total_bands/$total_seconds" | bc);

但是必须有更好的方法在 Bash/shell 脚本或其他一些脚本工具中执行此计时?你知道,剩下这么多(数千,如果上面的计数是正确的)乐队,我真的无法估计是否值得继续......

4

1 回答 1

0

该 sparsebundle 是您的 FileVault 加密主目录。如果您在尝试此操作时碰巧以该用户身份登录,则可能会出错。如果这是您正在做的事情,您可以尝试以下方式:

1) 创建一个具有管理员权限但没有加密的新用户。注销,以新用户身份登录,然后重试。

2) 撤消文件库加密。可能不是一个好主意,因为您将备份文件的未加密版本。

3) 在运行备份之前从 OS X 安装盘/USB 驱动器而不是硬盘启动,这样硬盘就根本不在使用中。

请注意,Mountain Lion 支持全盘加密,这需要先关闭您的主目录加密。安装完成后可能需要打开它。

于 2012-09-04T09:34:41.750 回答