Dl deb files of all related Ceph pkg on the system
This commit is contained in:
parent
9bb404e23c
commit
fc7b154907
|
@ -10,8 +10,9 @@
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
# Vars {{{
|
# Vars {{{
|
||||||
CEPH_DEB_DIR="/var/cache/apt/archives"
|
CEPH_DEB_PKG_DIR=$(mktemp --directory --tmpdir="/tmp" -- ceph-deb-files-XXXXXX.tmp)
|
||||||
CEPH_DEB_PKG_FILE=$(find "${CEPH_DEB_DIR}" -maxdepth 1 -type f -iname "ceph*.deb" -print -quit)
|
CEPH_DEB_PKG_PATTERN="ceph|rados|rbd"
|
||||||
|
|
||||||
CEPH_VERSION=$(ceph version | cut -d" " -f3)
|
CEPH_VERSION=$(ceph version | cut -d" " -f3)
|
||||||
|
|
||||||
BKP_DIR="/srv/ceph"
|
BKP_DIR="/srv/ceph"
|
||||||
|
@ -20,19 +21,39 @@ BKP_TAR_PATH="${BKP_DIR}/ceph-deb_${CEPH_VERSION}-$(date +%Y%m%d).tar"
|
||||||
EXISTENT_BACKUP_TAR="$(find "${BKP_DIR}" -type f -iname "ceph-deb_${CEPH_VERSION}*")"
|
EXISTENT_BACKUP_TAR="$(find "${BKP_DIR}" -type f -iname "ceph-deb_${CEPH_VERSION}*")"
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
# Test if a "ceph" package is available
|
# If Ceph is installed on the system
|
||||||
if [ "${CEPH_DEB_PKG_FILE}" ]; then
|
if [ "$(command -v ceph)" ]; then
|
||||||
|
|
||||||
mkdir -p -- "${BKP_DIR}"
|
# and no backup of this version already exists
|
||||||
|
if [ ! "${EXISTENT_BACKUP_TAR}" ]; then
|
||||||
|
## Ensure to create backup directory
|
||||||
|
mkdir -p -- "${BKP_DIR}"
|
||||||
|
|
||||||
# If no backup of this version already exists, create a new one
|
## Create and go to a temp directory
|
||||||
if [ "${EXISTENT_BACKUP_TAR}" ]; then
|
cd -- "${CEPH_DEB_PKG_DIR}" > /dev/null || exit 2
|
||||||
printf '%b\n' "A backup of this version already exists : ${EXISTENT_BACKUP_TAR}"
|
|
||||||
|
## Download deb files of all ceph related packages installed on the system
|
||||||
|
printf '%b\n' "Download deb files of all ceph related packages installed on the system."
|
||||||
|
apt download -- $(dpkg -l | awk -v pattern="${CEPH_DEB_PKG_PATTERN}" '$0~pattern {print $2"="$3}')
|
||||||
|
|
||||||
|
printf '%b\n' "Backup Ceph deb files in version : ${CEPH_VERSION}"
|
||||||
|
tar cf "${BKP_TAR_PATH}" ./*.deb > /dev/null 2>&1
|
||||||
|
|
||||||
|
## Remove deb files
|
||||||
|
rm -rf -- *.deb
|
||||||
|
|
||||||
|
cd - > /dev/null || exit 2
|
||||||
|
|
||||||
|
## Remove temp directory
|
||||||
|
rmdir -- "${CEPH_DEB_PKG_DIR}"
|
||||||
else
|
else
|
||||||
printf '%b\n' "Backup of Ceph deb files in version : ${CEPH_VERSION}"
|
printf '%b\n' "A backup of this version already exists : ${EXISTENT_BACKUP_TAR}"
|
||||||
tar cf "${BKP_TAR_PATH}" "${CEPH_DEB_DIR}"/*"${CEPH_VERSION}"*.deb > /dev/null 2>&1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
printf '%b\n' "Ceph doesn't seems to be available. Please take a look on \`ceph version\` command"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Reference in New Issue