Скрипт бэкап backup.sh
#!/bin/bash
DATE_ARHIV=`date "+%Y_%m_%d"`
TMP_DIR=/tmp/$DATE_ARHIV
#conteiner id
housekeeping_id='28017d6d7695'
worker_id='a8611fdecac4'
netbox_id='822cdbe4cb2a'
redis_cache_id='8b3422a35c28'
redis_id='5b7b5f323f56'
postgres_id='2b9f553f4a64'
names_conteiner=("housekeeping" "worker" "netbox" "redis_cache" "postgres")
#script
err() { echo -e "* Error: $1"; exit 1; }
mkdir $TMP_DIR
# arhiv conteiner
for NAMES in "${names_conteiner[@]}"
do
NAMES_2=${NAMES}_id
echo "$NAMES -- ${!NAMES_2}"
docker commit -p ${!NAMES_2} $NAMES || err "error commit"
docker save -o ${TMP_DIR}/${NAMES}.tar $NAMES || err "error arhiv conteiner"
done
#arhgiv volumes
tar -cvpzf ${TMP_DIR}/volumes.tar.gz --one-file-system /var/lib/docker/volumes/ || err "error volumes arhiv"
#arhiv github file
tar -cvpzf ${TMP_DIR}/netbox-docker.tar.gz --one-file-system /home/user/netbox-docker || err "error github arhiv"
#vse failii v arhiv backup
tar -cvpzf /backup/${DATE_ARHIV}.tar.gz --one-file-system $TMP_DIR || err "error backup arhiv"
#remove tmp papku
rm -r $TMP_DIR
#proverka arhiva
tar -tvzf /backup/${DATE_ARHIV}.tar.gz>/dev/null && echo "Backup is good!" || err "!!!!!error backup!!!!!!"