Fixes
This commit is contained in:
parent
4a2eb7588d
commit
72ad582b17
98
v2b.sh
98
v2b.sh
|
|
@ -1,51 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
#set -o xtrace
|
||||
set -o xtrace
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
UMASK="$(umask)"
|
||||
|
||||
final-local () {
|
||||
if [[ -z "$(ls -A ${TEMPF})" ]]; then
|
||||
rmdir "${TEMPF}"
|
||||
else
|
||||
if [[ $KEEP == "true" ]]; then
|
||||
mv "${FOLDER}" "${NEWFL}"
|
||||
else
|
||||
rm -rf "${FOLDER}"
|
||||
fi
|
||||
mv "${TEMPF}" "${FOLDER}"
|
||||
fi
|
||||
}
|
||||
|
||||
final-remote () {
|
||||
if [[ -z "$(ls ${TEMPF})" ]]; then
|
||||
rmdir "${TEMPF}"
|
||||
else
|
||||
sudo scp -r "${TEMPF}" "${ADDR}:/srv/backup/${TEMPF}" || exit 1
|
||||
if [[ $KEEP == "true" ]]; then
|
||||
sudo ssh "${ADDR}" "cd /srv/backup; mv \"${FOLDER}\" \"${NEWFL}\""
|
||||
else
|
||||
sudo ssh "${ADDR}" "cd /srv/backup; rm -rf \"${FOLDER}\""
|
||||
fi
|
||||
sudo scp -r "${TEMPF}" "${ADDR}:/srv/backup" && rm -rf "${TEMPF}"
|
||||
sudo ssh "${ADDR}" "cd /srv/backup; mv \"${TEMPF}\" \"${FOLDER}\""
|
||||
fi
|
||||
}
|
||||
|
||||
cprompt () {
|
||||
if [[ $UNATTENDED == "true" ]]; then return; fi
|
||||
read -r -s -N 1 -p "Continue [Enter]?"
|
||||
if [[ $UNATTENDED == "true" ]]; then
|
||||
return;
|
||||
fi
|
||||
read -r -s -N 1 -p "Press 'Enter' to continue "
|
||||
if [[ $REPLY != $'\n' ]]; then
|
||||
printf "\n"
|
||||
printf " Script stopped!\n"
|
||||
if [[ $SEND == "true" ]]; then
|
||||
final-remote
|
||||
else
|
||||
final-local
|
||||
fi
|
||||
exit
|
||||
printf " Backup stopped!\n"
|
||||
return 1
|
||||
else
|
||||
printf "\n"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -76,11 +47,7 @@ while getopts ':s:pku' OPT; do
|
|||
done
|
||||
shift $((OPTIND -1))
|
||||
|
||||
if [[ $SEND == "true" ]]; then
|
||||
FOLDER="_$(hostname -f)_"
|
||||
else
|
||||
FOLDER="_vols_"
|
||||
fi
|
||||
FOLDER="_vols_"
|
||||
|
||||
if [[ $# > 0 ]]; then
|
||||
VOLUMES="$(sudo docker volume ls -q |grep "${1}")"
|
||||
|
|
@ -93,23 +60,15 @@ if [[ -z $VOLUMES ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $SEND == "true" ]]; then
|
||||
if sudo ssh "${ADDR}" test -d "/srv/backup/${FOLDER}"; then
|
||||
LASTF="$(sudo ssh "${ADDR}" ls -d --format=single-column ${FOLDER}* |tail -n1)"
|
||||
else
|
||||
LASTF="${FOLDER}"
|
||||
fi
|
||||
if [[ -d ${FOLDER} ]]; then
|
||||
LASTF="$(ls -d --format=single-column ${FOLDER}* |tail -n1)"
|
||||
else
|
||||
if [[ -d ${FOLDER} ]]; then
|
||||
LASTF="$(ls -d --format=single-column ${FOLDER}* |tail -n1)"
|
||||
else
|
||||
LASTF="${FOLDER}"
|
||||
fi
|
||||
LASTF="${FOLDER}"
|
||||
fi
|
||||
|
||||
INDEX="$((( ${LASTF#${FOLDER}} + 0 )))"
|
||||
NEWFL="${FOLDER}$(printf "%05d" $((( ${INDEX} + 1 ))))"
|
||||
TEMPF="$(mktemp -dt -p $PWD XXXXXXXXXXXXXXX)"
|
||||
TEMPF="$(mktemp -dt -p $PWD _XXXXXXXXXXXXXXX_)"
|
||||
|
||||
for VOL in ${VOLUMES}; do
|
||||
if [[ $REMOVE == "true" ]]; then
|
||||
|
|
@ -118,18 +77,35 @@ for VOL in ${VOLUMES}; do
|
|||
TAR="${VOL}.tar.bz2"
|
||||
fi
|
||||
printf "${VOL} --> ${TEMPF}/${TAR}\n"
|
||||
cprompt
|
||||
cprompt || break
|
||||
sudo docker run --rm --log-driver none \
|
||||
-v "${VOL}:/volume" \
|
||||
-v "${TEMPF}:/backup" \
|
||||
loomchild/volume-backup backup -v "${TAR}"
|
||||
sudo chmod 400 "${TEMPF}/${TAR}"
|
||||
sudo chmod 600 "${TEMPF}/${TAR}"
|
||||
done
|
||||
|
||||
if [[ $SEND == "true" ]]; then
|
||||
final-remote
|
||||
else
|
||||
final-local
|
||||
if [[ -z "$(ls -A ${TEMPF})" ]]; then
|
||||
rmdir "${TEMPF}"
|
||||
else
|
||||
if [[ $KEEP == "true" ]]; then
|
||||
mv "${FOLDER}" "${NEWFL}"
|
||||
else
|
||||
rm -rf "${FOLDER}"
|
||||
fi
|
||||
if mv "${TEMPF}" "${FOLDER}"; then
|
||||
if [[ $SEND == "true" ]]; then
|
||||
if [[ $ADDR =~ ":" ]]; then
|
||||
if sudo ssh "${ADDR%:*}" "mkdir -p ${ADDR#*:}"; then
|
||||
sudo scp "${FOLDER}"/* "${ADDR}"
|
||||
fi
|
||||
else
|
||||
if sudo ssh "${ADDR}" "mkdir -p ${PWD}/_$(hostname -f)_"; then
|
||||
sudo scp "${FOLDER}"/* "${ADDR}:${PWD}/_$(hostname -f)_"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
set +o xtrace
|
||||
|
|
|
|||
Loading…
Reference in New Issue