Jailbroken Time Capsule and scp

After jailbreaking each of my Time Capsules, I wanted to transfer a pair of .backupbundle files, but they refused to transfer via Finder, so much for drag and drop compatibility. Just as well, there’s a secure way to do it via Terminal.app using these instructions:

1. In macOS, mount a disk from each Time Capsule drive you’d like to pass information between. (*this step is mandatory, if not, the path /Volumes/dk2/ShareRoot in the following steps will not be accessible)
2. Open Terminal.app.
3a. To transfer data from your Time Capsule to a drive mounted locally, execute this command from your Mac:

scp -3 -r root@10.0.1.15:/Volumes/dk2/ShareRoot/tina.backupbundle /Volumes/WD\ 4GB\ Backup

3b. To transfer data between a pair of Time Capsules, this command should work:

scp -3 -r root@10.0.1.15:/Volumes/dk2/ShareRoot/tina.backupbundle root@10.0.1.1:/Volumes/dk2/ShareRoot

4. You can continue to monitor the status of the transfer in the Terminal.app window, this will likely take several hours if the .backupbundle file is more than a terabyte.

If you are doing this transfer, you too may be like me and finding your internal Time Capsule drive out of space. If you make a secure shell connection to your Time Capsule, you can execute the following command to find out how much space remains on the Time Capsules internal storage and disk drive:

df -h

Filesystem Size Used Avail %Cap Mounted on
/dev/md0a 15M 11M 4.5M 70% /
/dev/flash2a 2.7M 63K 2.5M 2% /mnt/Flash
tmpfs 16M 4.0K 16M 0% /mnt/Memory
/dev/dk2 2.7T 2.0T 746G 73% /Volumes/dk2

In the case above, only 0.7 TB remained on the storage disk and I needed a bit more to fit everyone in the family…

** UPDATE 11-16-2024 **

Due to funkiness with DSS and macOS, step 3b failed for me today. To get around this, I logged into one Time Capsule at 10.0.1.15 and issued the following command to copy a backup file from 10.0.1.1:

scp -3 -r root@10.0.1.1:/Volumes/dk2/ShareRoot/Pro.sparsebundle /Volumes/dk2/ShareRoot

So far it’s happy and continues to copy. Will check back if/when this fails/succeeds. Based on initial transfer speeds, it’s averaging about 5.5 MB/s, I can live with that though copying 2TB may take the rest of the weekend! At least the two Time Capsules can sort this out between each other and don’t need an intermediary machine, which step 3b attempted to offer.

basement-shop-airport-time-capsule# scp -3 -r root@10.0.1.1:/Volumes/dk2/ShareRoot/Pro.sparsebundle /Volumes/dk2/ShareRoot
The authenticity of host ‘10.0.1.1 (10.0.1.1)’ can’t be established.
RSA key fingerprint is 35:f9:2a:02:ac:5f:9f:f7:6a:21:33:1c:27:d7:7e:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘10.0.1.1’ (RSA) to the list of known hosts.
root@10.0.1.1’s password:
0 100% 256MB 4.6MB/s 7.4MB/s 00:56
1 100% 256MB 5.5MB/s 7.4MB/s 00:47
10 100% 256MB 5.5MB/s 7.4MB/s 00:47
100 100% 256MB 5.6MB/s 7.4MB/s 00:46
1000 100% 256MB 5.6MB/s 7.5MB/s 00:46
1001 46% 120MB 5.7MB/s 5.6MB/s 00:24 ETA

Also, before I executed the above command:

trap ” HUP

The above command allows the scp command to continue in the background even after I disconnect the ssh session. To verify this, I closed the Terminal window on my Mac and then reconnected and executed top, sure enough, scp is still going off:

load averages: 2.19, 1.89, 1.49; up 0+01:53:38 01:09:23
32 processes: 8 runnable, 23 sleeping, 1 on CPU
CPU states: 49.5% user, 0.0% nice, 44.4% system, 6.1% interrupt, 0.0% idle
Memory: 137M Act, 68M Inact, 124K Wired, 5584K Exec, 185M File, 7192K Free
Swap:

PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
967 root 29 0 24M 5500K RUN 5:57 68.46% 68.46% ssh
244 root 85 0 23M 2120K RUN 4:21 15.53% 15.53% mDNSResponde
1220 root 84 0 21M 1844K RUN 1:03 10.25% 10.25% scp
486 root 43 0 21M 2276K CPU 0:00 0.16% 0.15% top

NetBSD on Apple Time Capsules is the bomb.

Leave a Reply

Your email address will not be published. Required fields are marked *