Add MSYNK_CONFIG_HOME, show delete list again
This commit is contained in:
parent
19c19f1d52
commit
d9cf0d7918
54
msynk.sh
54
msynk.sh
@ -9,15 +9,19 @@
|
||||
|
||||
# SETTINGS
|
||||
# The directory that is searched for config files, use ~/.config if $XDG_CONFIG_HOME is not defined
|
||||
[[ -z $XDG_CONFIG_HOME ]] && XDG_CONFIG_HOME=~/.config
|
||||
CONFIG_DIR=$XDG_CONFIG_HOME/msynk/
|
||||
# When using encrypt/decrypt, the source is en/decrypted to TMP_DIR and then rsynced to receiver from there
|
||||
CONFIG_DIR=~/.config/msynk
|
||||
[[ -n $XDG_CONFIG_HOME ]] && CONFIG_DIR=$XDG_CONFIG_HOME/msynk
|
||||
[[ -n $MSYNK_CONFIG_HOME ]] && CONFIG_DIR=$MSYNK_CONFIG_HOME
|
||||
|
||||
# YOU CAN OVERRIDE THESE IN THE CONFIG FILES
|
||||
# When using encrypt/decrypt, the source is en/decrypted to TMP_DIR and then rsynced to receiver from there Path must contain 'msynk' TMP_DIR=/tmp/msynk/ When using --delete, this file is used to determine the files that will be deleted TMP_FILE=/tmp/msynk_file Path to the mkrypt script mkrypt=/usr/bin/mkrypt
|
||||
# Path must contain 'msynk'
|
||||
TMP_DIR=/tmp/msynk/
|
||||
# When using --delete, this file is used to determine the files that will be deleted
|
||||
TMP_FILE=/tmp/msynk_file
|
||||
# Path to the mkrypt script
|
||||
mkrypt=/usr/bin/mkrypt
|
||||
|
||||
# Additional flags for mkrypt
|
||||
mkrypt_flags=()
|
||||
|
||||
@ -35,12 +39,13 @@ rsync_flags=(-ruh)
|
||||
shopt -s dotglob
|
||||
|
||||
# UTILITY
|
||||
FMT_MESSAGE="\e[1;34m%s\e[0m %s\n"
|
||||
FMT_ERROR="\e[1;31mmsync ERROR: \e[0m%s\n"
|
||||
NAME="\e[1;34mmsynk"
|
||||
FMT_MESSAGE="$NAME: \e[0;34m%s\e[0m %s\n"
|
||||
FMT_ERROR="\e[1;31m$NAME: \e[1;31mERROR: \e[0m%s\n"
|
||||
# exit 1: error, exit 2: rsync exited non 0, exit 3: mkrypt exited non 0
|
||||
FMT_SYNC="\e[1;32mSyncing: \e[0m%s\n"
|
||||
FMT_SYNC="$NAME: \e[1;32mSyncing: \e[0m%s\n"
|
||||
FMT_CMD="$NAME: \e[1;33mRunning: \e[0m%s\n"
|
||||
FMT_CONFIG="\e[34m%s\e:\t\e[1;33m%s\e[0m\n"
|
||||
FMT_CMD="\e[1;33mRunning: \e[0m%s\n"
|
||||
|
||||
# FUNCTIONS
|
||||
# silence commands
|
||||
@ -84,18 +89,27 @@ sync_sender_to_receiver()
|
||||
# print files that will be deleted and ask if continue
|
||||
# grep deleting $TMP_FILE | sed "s(deleting (${receiver}/(" | less
|
||||
less $TMP_FILE
|
||||
|
||||
DONE=0
|
||||
while [[ $DONE == 0 ]]; do
|
||||
printf "$FMT_MESSAGE" "The listed files will be deleted from $receiver."
|
||||
printf "Proceed?\e[34m (y/n)\e[0m: "
|
||||
printf "Proceed?\e[34m ([y]es, [s]how again, [*] no)\e[0m: "
|
||||
# printf "Proceed?\e[34m ([y]es, [s]how again, [l]ist all files, [*] no)\e[0m: "
|
||||
read answer
|
||||
case $answer in
|
||||
y|Y)
|
||||
# printf "$FMT_MESSAGE" "Backing up to $receiver..."
|
||||
DONE=1
|
||||
;;
|
||||
s|S)
|
||||
less $TMP_FILE
|
||||
;;
|
||||
# l|L)
|
||||
# less $TMP_FILE
|
||||
# ;;
|
||||
*)
|
||||
printf "$FMT_MESSAGE" "Cancelled."
|
||||
exit 0 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# actual syncing
|
||||
@ -147,12 +161,12 @@ sync_sender_to_receiver()
|
||||
|
||||
# put todays date in the config
|
||||
if [[ -f $CONFIG_DIR/$config ]]; then
|
||||
if grep -xq "date=.*" $CONFIG_DIR$config; then
|
||||
[[ $v -ge 2 ]] && printf "$FMT_MESSAGE" "Updating" "date in $CONFIG_DIR$config."
|
||||
sed "s/date=.*/date=\"$(date --iso=sec)\"/" $CONFIG_DIR$config -i
|
||||
if grep -xq "date=.*" $CONFIG_DIR/$config; then
|
||||
[[ $v -ge 2 ]] && printf "$FMT_MESSAGE" "Updating" "date in $CONFIG_DIR/$config."
|
||||
sed "s/date=.*/date=\"$(date --iso=sec)\"/" $CONFIG_DIR/$config -i
|
||||
else
|
||||
[[ $v -ge 2 ]] && printf "$FMT_MESSAGE" "Writing" "current date to $CONFIG_DIR$config."
|
||||
echo "date=\"$(date --iso=sec)\"" >> $CONFIG_DIR$config
|
||||
[[ $v -ge 2 ]] && printf "$FMT_MESSAGE" "Writing" "current date to $CONFIG_DIR/$config."
|
||||
echo "date=\"$(date --iso=sec)\"" >> $CONFIG_DIR/$config
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -214,9 +228,9 @@ show_settings()
|
||||
|
||||
show_config()
|
||||
{
|
||||
[[ ! -f $CONFIG_DIR$config ]] && { printf "$FMT_ERROR" "Invalid path: $CONFIG_DIR$config"; exit 1; }
|
||||
source $CONFIG_DIR$config
|
||||
printf "\e[1m$CONFIG_DIR$config:\e[0m\n"
|
||||
[[ ! -f $CONFIG_DIR/$config ]] && { printf "$FMT_ERROR" "Invalid path: $CONFIG_DIR/$config"; exit 1; }
|
||||
source $CONFIG_DIR/$config
|
||||
printf "\e[1m$CONFIG_DIR/$config:\e[0m\n"
|
||||
printf "$FMT_CONFIG" "\$sender " "$sender"
|
||||
printf "$FMT_CONFIG" "\$receiver " "$receiver"
|
||||
printf "$FMT_CONFIG" "\$paths " "${paths[*]}"
|
||||
@ -337,11 +351,11 @@ fi
|
||||
|
||||
# if using a config
|
||||
if [[ -n $config ]]; then
|
||||
source $CONFIG_DIR$config || { printf "$FMT_ERROR" "Error running the config file: $CONFIG_DIR$config"; exit 1; }
|
||||
source $CONFIG_DIR/$config || { printf "$FMT_ERROR" "Error running the config file: $CONFIG_DIR/$config"; exit 1; }
|
||||
if [[ $use_encryption = 1 ]]; then
|
||||
[[ -z $reverse ]] && encrypt=1 || decrypt=1
|
||||
fi
|
||||
[[ $v -ge 3 ]] && printf "$FMT_MESSAGE" "Loaded config:" "$CONFIG_DIR$config: date:$date sender:$sender receiver:$receiver use_encryption:$use_encryption encrypt:$encrypt decrypt:$decrypt paths:${paths[*]}"
|
||||
[[ $v -ge 3 ]] && printf "$FMT_MESSAGE" "Loaded config:" "$CONFIG_DIR/$config: date:$date sender:$sender receiver:$receiver use_encryption:$use_encryption encrypt:$encrypt decrypt:$decrypt paths:${paths[*]}"
|
||||
fi
|
||||
|
||||
# overwrite stuff from the config if anything else was given / set variables of no config was given
|
||||
|
Loading…
Reference in New Issue
Block a user