Changed the logic to check for the pendrive itself and then the project directory on that drive and creating it if not found.
Bumped version.
This commit is contained in:
parent
b927e8e6ba
commit
7a0b79fb59
11
install.sh
11
install.sh
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Figure out where the root folder of this script is on the users computer...
|
# Figure out where the root folder of this script is on the users computer...
|
||||||
current_dir=$(pwd)
|
current_dir=$(pwd)
|
||||||
|
|
||||||
|
@ -12,12 +13,15 @@ while [ -d ~/bin/"$project_name" ];
|
||||||
done
|
done
|
||||||
|
|
||||||
# Get paths for rsync...
|
# Get paths for rsync...
|
||||||
echo "What is the full path for your pendrive (including any subdirectories you want to use. Trailing slashes will be added automatically)..."
|
echo "What is the full path for your pendrive..."
|
||||||
read -r pen
|
read -r pen
|
||||||
|
|
||||||
echo "And what is the full path to your local directory we will syncing with?..."
|
echo "And what is the full path to your local directory we will syncing with?..."
|
||||||
read -r local
|
read -r local
|
||||||
|
|
||||||
|
# Define the variable 'remote'...
|
||||||
|
remote=/$pen/$project_name
|
||||||
|
|
||||||
# Check for the 'bin' dir in the users 'Home' directory and create it if not present...
|
# Check for the 'bin' dir in the users 'Home' directory and create it if not present...
|
||||||
if [ -d "$HOME"/bin ];
|
if [ -d "$HOME"/bin ];
|
||||||
then echo "$HOME/bin exists, nothing to do..."
|
then echo "$HOME/bin exists, nothing to do..."
|
||||||
|
@ -28,11 +32,12 @@ fi
|
||||||
cp -r "$current_dir" "$HOME"/bin
|
cp -r "$current_dir" "$HOME"/bin
|
||||||
|
|
||||||
# Rename the project directory...
|
# Rename the project directory...
|
||||||
mv "$HOME"/bin/Pendrive "$HOME"/bin/"$project_name"
|
mv "$HOME"/bin/USB_pendrive_backup "$HOME"/bin/"$project_name"
|
||||||
|
|
||||||
# Set new paths in main.sh...
|
# Set new paths in main.sh...
|
||||||
sed -i "s|/pendrive/path/|${pen}/|" "$HOME"/bin/"$project_name"/main.sh
|
sed -i "s|/pendrive/path/|${pen}|" "$HOME"/bin/"$project_name"/main.sh
|
||||||
sed -i "s|/local/dir/path/|${local}/|" "$HOME"/bin/"$project_name"/main.sh
|
sed -i "s|/local/dir/path/|${local}/|" "$HOME"/bin/"$project_name"/main.sh
|
||||||
|
sed -i "s|/full_path_to_project_dir|${remote}|" "$HOME"/bin/"$project_name"/main.sh
|
||||||
|
|
||||||
# Edit menu entry...
|
# Edit menu entry...
|
||||||
sed -i "s/name/${project_name}/" "$HOME"/bin/"$project_name"/menu.desktop
|
sed -i "s/name/${project_name}/" "$HOME"/bin/"$project_name"/menu.desktop
|
||||||
|
|
23
main.sh
23
main.sh
|
@ -4,10 +4,10 @@
|
||||||
# #
|
# #
|
||||||
# Script for backing up projects via pendrive #
|
# Script for backing up projects via pendrive #
|
||||||
# By Peter Green #
|
# By Peter Green #
|
||||||
# Version 0.1 #
|
# Version 0.2 #
|
||||||
# Date of first version; 03-09-2022 #
|
# Date of first version; 2022-09-03 #
|
||||||
# Date of last update; 2022-05-08 #
|
# Date of last update; 2023-01-22 #
|
||||||
# Moved to my own Gitea instance 27-12-2022 #
|
# Moved to my own Gitea instance 2022-12-27 #
|
||||||
# #
|
# #
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
# Set backup dir paths...
|
# Set backup dir paths...
|
||||||
pen=/pendrive/path/
|
pen=/pendrive/path/
|
||||||
local=/local/dir/path/
|
local=/local/dir/path/
|
||||||
|
remote=/full_path_to_project_dir # Full path to project dir on pendrive.
|
||||||
|
|
||||||
# Announce the name of the script...
|
# Announce the name of the script...
|
||||||
echo "
|
echo "
|
||||||
|
@ -29,14 +30,18 @@ if [ -d $pen ];
|
||||||
Press 'Enter' to close this window..." && read -r && exit
|
Press 'Enter' to close this window..." && read -r && exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check to see if the dest dir on pendrive is present...
|
||||||
|
if [ -d remote ];
|
||||||
|
then echo "Directory on pendrive found, proceeding..."
|
||||||
|
else echo "Directory on pendrive not found, creating... " && mkdir $remote
|
||||||
|
fi
|
||||||
|
|
||||||
# Give the keyboard monkey the heads up...
|
# Give the keyboard monkey the heads up...
|
||||||
echo "
|
echo "
|
||||||
|
|
||||||
::IMPORTANT NOTE::
|
::IMPORTANT NOTE::
|
||||||
|
|
||||||
This script used to back-up 'incrementally' so data would have accumulated.
|
This script backs up 'incrementally' so data will accumulate."
|
||||||
|
|
||||||
So it's not 'so' important now to get your transfer direction right!!!"
|
|
||||||
|
|
||||||
# Ask if we should send to or fetch from the pendrive...
|
# Ask if we should send to or fetch from the pendrive...
|
||||||
echo "
|
echo "
|
||||||
|
@ -58,8 +63,8 @@ done
|
||||||
|
|
||||||
# Run the backup...
|
# Run the backup...
|
||||||
if [ "$direction" = t ];
|
if [ "$direction" = t ];
|
||||||
then rsync -atv --progress $local $pen
|
then rsync -atv --progress $local $remote
|
||||||
else rsync -atv --progress $pen $local
|
else rsync -atv --progress $remote/ $local
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Let the mouse molester know we are finished and get some engagement from them...
|
# Let the mouse molester know we are finished and get some engagement from them...
|
||||||
|
|
|
@ -31,3 +31,7 @@ cd ~/ || exit
|
||||||
|
|
||||||
# Remove root dir...
|
# Remove root dir...
|
||||||
rm -rf ~/bin/$project_name
|
rm -rf ~/bin/$project_name
|
||||||
|
|
||||||
|
echo "This instance of Pendrive Backup $project_name has been removed"
|
||||||
|
echo "Please press 'Enter to close this window..."
|
||||||
|
read -r
|
Loading…
Reference in New Issue