mirror of
https://github.com/natelandau/shell-scripting-templates.git
synced 2025-11-08 21:23:48 -05:00
Updated to use newer scriptTemplate
This commit is contained in:
@@ -6,7 +6,9 @@
|
|||||||
#
|
#
|
||||||
version="1.1.0" # Sets version variable
|
version="1.1.0" # Sets version variable
|
||||||
#
|
#
|
||||||
scriptTemplateVersion="1.0.0" # Version of Script Template
|
scriptTemplateVersion="1.1.1" # Version of scriptTemplate.sh that this script is based on
|
||||||
|
# v.1.1.0 - Added 'debug' option
|
||||||
|
# v.1.1.1 - Moved all shared variables to Utils
|
||||||
#
|
#
|
||||||
# This script will give you the option of using rsync
|
# This script will give you the option of using rsync
|
||||||
# or Unison. Rsync is for one-way syncing, Unison is for
|
# or Unison. Rsync is for one-way syncing, Unison is for
|
||||||
@@ -34,24 +36,26 @@ scriptTemplateVersion="1.0.0" # Version of Script Template
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
# HISTORY:
|
# HISTORY:
|
||||||
# * 2015-01-03 - v1.1.0 - Added support for using roots in Unison .prf
|
|
||||||
# * 2015-01-02 - v1.0.0 - First Creation
|
# * 2015-01-02 - v1.0.0 - First Creation
|
||||||
|
# * 2015-01-03 - v1.1.0 - Added support for using roots in Unison .prf
|
||||||
|
# * 2015-03-10 - v1.1.1 - Updated script template version
|
||||||
|
# - Removed $logFile from config. Default is now '~/library/logs/'
|
||||||
#
|
#
|
||||||
# ##################################################
|
# ##################################################
|
||||||
|
|
||||||
|
# Source Scripting Utilities
|
||||||
# Source Scripting Utilities
|
# Source Scripting Utilities
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# If these can't be found, update the path to the file
|
# If these can't be found, update the path to the file
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
if [ -f "${SCRIPTDIR}/../lib/utils.sh" ]; then
|
if [ -f "${scriptPath}/../lib/utils.sh" ]; then
|
||||||
source "${SCRIPTDIR}/../lib/utils.sh"
|
source "${scriptPath}/../lib/utils.sh"
|
||||||
else
|
else
|
||||||
echo "Please find the file util.sh and add a reference to it in this script. Exiting."
|
echo "Please find the file util.sh and add a reference to it in this script. Exiting."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# trapCleanup Function
|
# trapCleanup Function
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# Any actions that should be taken if the script is prematurely
|
# Any actions that should be taken if the script is prematurely
|
||||||
@@ -77,28 +81,27 @@ force=0
|
|||||||
strict=0
|
strict=0
|
||||||
debug=0
|
debug=0
|
||||||
|
|
||||||
# Set Local Variables
|
# Set Temp Directory
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# A set of variables used by many scripts
|
|
||||||
# -----------------------------------
|
|
||||||
|
|
||||||
# Set Script name and location variables
|
|
||||||
scriptName=`basename ${0}` # Full name
|
|
||||||
scriptBasename="$(basename ${scriptName} .sh)" # Strips '.sh' from name
|
|
||||||
scriptPath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
|
|
||||||
# Set time stamp
|
|
||||||
now=$(date +"%m-%d-%Y %r")
|
|
||||||
# Set hostname
|
|
||||||
thisHost=$(hostname)
|
|
||||||
|
|
||||||
# Create temp directory with three random numbers and the process ID
|
# Create temp directory with three random numbers and the process ID
|
||||||
# in the name. This directory is removed automatically at exit.
|
# in the name. This directory is removed automatically at exit.
|
||||||
|
# -----------------------------------
|
||||||
tmpDir="/tmp/${scriptName}.$RANDOM.$RANDOM.$RANDOM.$$"
|
tmpDir="/tmp/${scriptName}.$RANDOM.$RANDOM.$RANDOM.$$"
|
||||||
(umask 077 && mkdir "${tmpDir}") || {
|
(umask 077 && mkdir "${tmpDir}") || {
|
||||||
die "Could not create temporary directory! Exiting."
|
die "Could not create temporary directory! Exiting."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
# -----------------------------------
|
||||||
|
# Log is only used when the '-l' flag is set.
|
||||||
|
#
|
||||||
|
# To never save a logfile change variable to '/dev/null'
|
||||||
|
# Save to Desktop use: $HOME/Desktop/${scriptBasename}.log
|
||||||
|
# Save to standard user log location use: $HOME/Library/Logs/${scriptBasename}.log
|
||||||
|
# -----------------------------------
|
||||||
|
logFile="$HOME/Library/Logs/${scriptBasename}.log"
|
||||||
|
|
||||||
|
|
||||||
# Configuration file
|
# Configuration file
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# This script calls for a configuration file.
|
# This script calls for a configuration file.
|
||||||
@@ -113,9 +116,10 @@ function newCopy() {
|
|||||||
if [ "${scriptName}" = "SyncTemplate.sh" ]; then
|
if [ "${scriptName}" = "SyncTemplate.sh" ]; then
|
||||||
input "name your new script:"
|
input "name your new script:"
|
||||||
read newname
|
read newname
|
||||||
|
debug "Copying SyncTemplate.sh to ${newname}"
|
||||||
cp "${scriptPath}"/"${scriptName}" "${scriptPath}"/"${newname}" && verbose "cp ${scriptPath}/${scriptName} ${scriptPath}/${newname}"
|
cp "${scriptPath}"/"${scriptName}" "${scriptPath}"/"${newname}" && verbose "cp ${scriptPath}/${scriptName} ${scriptPath}/${newname}"
|
||||||
success "${newname} created."
|
success "${newname} created."
|
||||||
exit 0
|
safeExit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,11 +211,6 @@ EXCLUDE=""
|
|||||||
# ADDITIONAL OPTIONS
|
# ADDITIONAL OPTIONS
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
|
|
||||||
# LOGFILE is a text file to log all script activity to.
|
|
||||||
# Use the format /some/directory/file.txt
|
|
||||||
# If you don't want a log of the activity leave this as /dev/null
|
|
||||||
logFile="/dev/null"
|
|
||||||
|
|
||||||
# PUSHOVER is an online notification tool.
|
# PUSHOVER is an online notification tool.
|
||||||
# If you want to receive notifications upon completion
|
# If you want to receive notifications upon completion
|
||||||
# set the following value to "true"
|
# set the following value to "true"
|
||||||
@@ -223,7 +222,7 @@ CANONICALHOST=""
|
|||||||
EOL
|
EOL
|
||||||
success "Config file created. Edit the values before running this script again."
|
success "Config file created. Edit the values before running this script again."
|
||||||
notice "The file is located at: ${CONFIG}. Exiting."
|
notice "The file is located at: ${CONFIG}. Exiting."
|
||||||
exit 0
|
safeExit
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user