Skip configuring the archive if the user didn't pick an archive system.

This commit is contained in:
cimryan
2018-11-05 21:56:29 -08:00
parent 12b1963ee3
commit 80ef4acf48
6 changed files with 63 additions and 69 deletions

View File

@@ -19,7 +19,7 @@ These instructions will speed you through the process with good defaults. If you
```
1. Run these commands:
```
export RCLONE_ENABLE=true
export ARCHIVE_SYSTEM=rclone
export RCLONE_DRIVE=gdrive
export RCLONE_PATH=TeslaCam
@@ -86,8 +86,6 @@ Confirm that the directory `TeslaCam` is present. If not, start over.
# Step 4: Exports
Run this command to cause the setup processes which you'll resume in the main instructions to use rclone4pi:
```
export RCLONE_ENABLE=true
export ARCHIVE_SYSTEM=rclone
```
**Note:** `RCLONE_ENABLE=true` is going to disable the default archive server. It also will **not** play nicely with `RSYNC_ENABLE=true` Perhaps future releases will allow both to be defined and function at the same time, for redundancy, but for now just pick one that you'll want the most.
Now return to the section "Set up the USB storage functionality" in the [main instructions](../README.md).

View File

@@ -30,20 +30,20 @@ Similar to sftp, rsync by default uses ssh to connect to a remote server and tra
Run this command to cause the setup processes which you'll resume in the main instructions to use rsync:
```
export RSYNC_ENABLE=true
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=<ftp username>
export RSYNC_SERVER=<ftp IP/host>
export RSYNC_PATH=<destination path to save in>
```
Explanations for each:
* `RSYNC_ENABLE`: `true` for enabling rsync
* `ARCHIVE_SYSTEM`: `rsync` for enabling rsync
* `RSYNC_USER`: The user on the FTP server
* `RSYNC_SERVER`: The IP address/hostname of the destination machine
* `RSYNC_PATH`: The path on the destination machine where the files will be saved
An example config is below:
```
export RSYNC_ENABLE=true
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=pi
export RSYNC_SERVER=192.168.1.254
export RSYNC_PATH=/mnt/PIHDD/TeslaCam/

View File

@@ -23,6 +23,7 @@ Now, on the Pi:
1. Run these commands, subsituting your values:
```
sudo -i
export ARCHIVE_SYSTEM="cifs"
export archiveserver="Nautilus"
export sharename="SailfishCam"
export shareuser="sailfish"

View File

@@ -9,6 +9,7 @@
######################################################################
# Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name
export shareuser=username
@@ -33,11 +34,3 @@ export HEADLESS_SETUP=true
# Uncomment and change if you want a different branch than master
# export BRANCH=master
# Uncomment if you're using rsync/ssh for the archive.
# Note: RSYNC is not usable for headless setup since it currently requires a manual step.
# Note: RSYNC_ENABLE=true is going to disable the default archive server.
# export RSYNC_ENABLE=true
# export RSYNC_USER=<ftp username>
# export RSYNC_SERVER=<ftp IP/host>
# export RSYNC_PATH=<destination path to save in>

View File

@@ -9,6 +9,7 @@
######################################################################
# Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name
export shareuser=username
@@ -33,11 +34,3 @@ export HEADLESS_SETUP=true
# Uncomment and change if you want a different branch than master
# export BRANCH=master
# Uncomment if you're using rsync/ssh for the archive.
# Note: RSYNC_ENABLE=true is going to disable the default archive server.
#
# export RSYNC_ENABLE=true
# export RSYNC_USER=<ftp username>
# export RSYNC_SERVER=<ftp IP/host>
# export RSYNC_PATH=<destination path to save in>

View File

@@ -3,6 +3,8 @@
REPO=${REPO:-cimryan}
BRANCH=${BRANCH:-master}
ARCHIVE_SYSTEM=${ARCHIVE_SYSTEM:-none}
export INSTALL_DIR=${INSTALL_DIR:-/root/bin}
function check_variable () {
@@ -60,50 +62,52 @@ EOF
function check_archive_configs () {
echo -n "Checking archive configs: "
RSYNC_ENABLE="${RSYNC_ENABLE:-false}"
RCLONE_ENABLE="${RCLONE_ENABLE:-false}"
if [ "$RSYNC_ENABLE" = true ] && [ "$RCLONE_ENABLE" = true ]
then
echo "STOP: Can't enable rsync and rclone at the same time"
exit 1
fi
if [ "$RSYNC_ENABLE" = true ]
then
check_variable "RSYNC_USER"
check_variable "RSYNC_SERVER"
check_variable "RSYNC_PATH"
export archiveserver="$RSYNC_SERVER"
elif [ "$RCLONE_ENABLE" = true ]
then
check_variable "RCLONE_DRIVE"
check_variable "RCLONE_PATH"
export archiveserver="8.8.8.8" # since it's a cloud hosted drive we'll just set this to google dns
else
# default to cifs
check_variable "sharename"
check_variable "shareuser"
check_variable "sharepassword"
check_variable "archiveserver"
fi
case "$ARCHIVE_SYSTEM" in
rsync)
check_variable "RSYNC_USER"
check_variable "RSYNC_SERVER"
check_variable "RSYNC_PATH"
export archiveserver="$RSYNC_SERVER"
;;
rclone)
check_variable "RCLONE_DRIVE"
check_variable "RCLONE_PATH"
export archiveserver="8.8.8.8" # since it's a cloud hosted drive we'll just set this to google dns
;;
cifs)
check_variable "sharename"
check_variable "shareuser"
check_variable "sharepassword"
check_variable "archiveserver"
;;
none)
;;
*)
echo "STOP: Unrecognized archive system: $ARCHIVE_SYSTEM"
exit 1
;;
esac
echo "done"
}
function get_archive_module () {
if [ "$RSYNC_ENABLE" = true ]
then
archive_module="run/rsync_archive"
elif [ "$RCLONE_ENABLE" = true ]
then
archive_module="run/rclone_archive"
else
archive_module="run/cifs_archive"
fi
echo $archive_module
case "$ARCHIVE_SYSTEM" in
rsync)
echo "run/rsync_archive"
;;
rclone)
echo "run/rclone_archive"
;;
cifs)
echo "run/cifs_archive"
;;
*)
echo "Internal error: Attempting to configure unrecognized archive system: $ARCHIVE_SYSTEM"
exit 1
;;
esac
}
function install_archive_scripts () {
@@ -125,7 +129,6 @@ function install_archive_scripts () {
get_script $install_path archive-is-reachable.sh $archive_module
}
function check_pushover_configuration () {
if [ ! -z "${pushover_enabled+x}" ]
then
@@ -147,10 +150,10 @@ function check_pushover_configuration () {
function configure_pushover () {
if [ ! -z "${pushover_enabled+x}" ]
then
echo "Enabling pushover"
echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials
echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials
echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials
echo "Enabling pushover"
echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials
echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials
echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials
else
echo "Pushover not configured."
fi
@@ -159,7 +162,7 @@ function configure_pushover () {
function check_and_configure_pushover () {
check_pushover_configuration
configure_pushover
configure_pushover
}
function install_pushover_scripts() {
@@ -167,6 +170,12 @@ function install_pushover_scripts() {
get_script $install_path send-pushover run
}
if [ "$ARCHIVE_SYSTEM" = "none" ]
then
echo "Skipping archive configuration."
exit 1
fi
if ! [ $(id -u) = 0 ]
then
echo "STOP: Run sudo -i."