pid-file option

This commit is contained in:
Naum Soloveychik
2020-01-12 20:29:23 +03:00
parent dacbe0f75d
commit e120b6f52a
2 changed files with 11 additions and 5 deletions

View File

@@ -37,6 +37,8 @@ compress dump using xz
**-m, --master** **-m, --master**
set master data in dump set master data in dump
**-q, --quiet** **-q, --quiet**
**--pid-file**
set pid-file (default: /var/run/mysql_backup.sh.pid)
**-h, --help** **-h, --help**
## Setup script in crontab ## Setup script in crontab

View File

@@ -3,7 +3,7 @@
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" ; export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" ;
script="$(basename "$(test -L "${0}" && readlink "${0}" || echo "${0}")")" ; script="$(basename "$(test -L "${0}" && readlink "${0}" || echo "${0}")")" ;
mypidfile="/var/run/`basename ${0}`.pid" ; pidfile="/var/run/`basename ${0}`.pid" ;
usage() usage()
{ {
@@ -19,6 +19,7 @@ usage()
echo "-x | --xz :: compress dump using xz" echo "-x | --xz :: compress dump using xz"
echo "-m | --master :: set master data" echo "-m | --master :: set master data"
echo "-q | --quiet :: silent mode" echo "-q | --quiet :: silent mode"
echo "--pid-file :: pid file default ${pidfile}"
echo "-h | --help :: display this help" echo "-h | --help :: display this help"
} }
@@ -58,6 +59,9 @@ while [ "${1}" != "" ]; do
-m | --master ) master=1 -m | --master ) master=1
-q | --quiet ) quiet=1 -q | --quiet ) quiet=1
;; ;;
--pid-file ) shift
pidfile=${1}
;;
-h | --help ) usage -h | --help ) usage
exit exit
;; ;;
@@ -78,15 +82,15 @@ if [ "${dir}" = "" ] || [ ! -d ${dir} ] ; then
exit 1 ; exit 1 ;
fi fi
if [ -s ${mypidfile} ] ; then if [ -s ${pidfile} ] ; then
error "ERROR: `hostname` script ${script} already running!" ; error "ERROR: `hostname` script ${script} already running!" ;
exit 1 ; exit 1 ;
fi fi
trap "rm -f ${mypidfile} ;" EXIT INT KILL TERM SIGKILL SIGTERM; trap "rm -f ${pidfile} ;" EXIT INT KILL TERM SIGKILL SIGTERM;
echo $$ > ${mypidfile} ; echo $$ > ${pidfile} ;
mysqlparams=" --all-databases \ mysqlparams=" --all-databases \
--add-drop-database \ --add-drop-database \
@@ -167,6 +171,6 @@ if [ ! "${quiet}" ] ; then
echo "Dump completed (`date +\"%H:%M:%S\"`)..." ; echo "Dump completed (`date +\"%H:%M:%S\"`)..." ;
fi fi
rm -f ${mypidfile} ; rm -f ${pidfile} ;
exit 0 ; exit 0 ;