This guide will show you how to use rsync to archive your saved TeslaCam footage on a remote storage server.
Since sftp/rsync accesses a computer through SSH the only requirement for hosting an SFTP/rsync server is to have a box running SSH. For example, you could use another Raspberry Pi connected to your local network with a USB storage drive plugged in. The official Raspberry Pi site has a good example on how to mount an external drive.
You will need the username and host/IP of the storage server, as well as the path for the files to go in, and the storage server will need to allow SSH.
This guide makes the following assumptions:
- You are running your own sftp/rsync server that you have admin rights to, or can at least add a public key to its
~/.ssh/authorized_keys
file. - The sftp/rsync server has rsync installed (raspbian automatically does)
Similar to sftp, rsync by default uses ssh to connect to a remote server and transfer files. This guide will use a generated ssh keypair, hence the first assumption above.
-
Enter the root session (if you haven't already):
sudo -i
-
Remount the file system as read-write:
bin/remountfs_rw
-
Run these commands to to generate an ssh key for the
root
user:ssh-keygen
-
Copy the key to the storage server. This will also add the server to
.ssh/known_hosts
:ssh-copy-id user@archiveserver
Run this command to cause the setup processes which you'll resume in the main instructions to use rsync:
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=<sftp username>
export RSYNC_SERVER=<sftp IP/host>
export RSYNC_PATH=<destination path to save in>
Explanations for each:
ARCHIVE_SYSTEM
:rsync
for enabling rsyncRSYNC_USER
: The user on the SFTP serverRSYNC_SERVER
: The IP address/hostname of the destination machineRSYNC_PATH
: The path on the destination machine where the files will be saved
An example config is below:
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=pi
export RSYNC_SERVER=192.168.1.254
export RSYNC_PATH=/mnt/PIHDD/TeslaCam/
Additional options for rsync over ssh can be configured using ~/.ssh/config
such as port number. To see all available options visit the man page.
Stay in the sudo -i
session return to the section "Set up the USB storage functionality" in the main instructions.