stacks.sh
Backup des docker-compose.yml et des .env sur le NAS
This commit is contained in:
67
stacks.sh
Normal file
67
stacks.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
red="\033[1;31m"
|
||||
greenbold="\033[1;32m"
|
||||
green="\033[0;32m"
|
||||
yellow="\033[0;33m"
|
||||
bold="\033[1m"
|
||||
#bold_under="\033[1;4m"
|
||||
italic="\033[3m"
|
||||
underline="\033[4m"
|
||||
reset="\033[0m"
|
||||
|
||||
dotenv () {
|
||||
set -a
|
||||
# shellcheck disable=SC1091
|
||||
[ -f "$HOME/.env" ] && . "$HOME/.env" || echo -e "${red}\nNo .env file found ! Archive won't be encrypted !${reset}"
|
||||
set +a
|
||||
}
|
||||
|
||||
dotenv
|
||||
|
||||
dir_docker="/volume1/docker"
|
||||
dir_stacks="/volume1/docker/dockge/stacks"
|
||||
dir_backup="/volume1/docker/_backup"
|
||||
[ ! -d "$dir_backup" ] && mkdir "$dir_backup"
|
||||
|
||||
|
||||
stacks=$(cd "$dir_stacks" && fd -g docker-compose.yml)
|
||||
nb=0
|
||||
|
||||
while IFS= read -r line; do
|
||||
|
||||
app=$(echo "${line}" | awk -F"/" '{print $1}')
|
||||
folder="$dir_backup/$app"
|
||||
[ ! -d "$folder" ] && mkdir "$folder"
|
||||
cp "$line" "$folder"
|
||||
((nb++))
|
||||
|
||||
done <<< "$stacks"
|
||||
|
||||
echo -e "$nb 'docker-compose.yml' files founds in DockGe !"
|
||||
|
||||
env=$(cd "$dir_stacks" && fd -H -g .env)
|
||||
nb=0
|
||||
|
||||
while IFS= read -r line; do
|
||||
|
||||
app=$(echo "${line}" | awk -F"/" '{print $1}')
|
||||
folder="$dir_backup/$app"
|
||||
[ -d "$folder" ] && cp "$line" "$folder"
|
||||
((nb++))
|
||||
|
||||
done <<< "$env"
|
||||
|
||||
echo -e "$nb '.env' files founds in DockGe !"
|
||||
|
||||
echo -e "Archivage du dossier _backup..."
|
||||
|
||||
if ! command -v gpg &> /dev/null; then
|
||||
echo -e "${bold}gpg${reset} could not be found !\n"
|
||||
echo -e "Archive won't be encrypted !\n"
|
||||
echo -e ""
|
||||
|
||||
tar -zcvf "$dir_docker/backup_Docker.tar.gz" "$dir_backup" >/dev/null 2>&1
|
||||
else
|
||||
rm "$dir_docker/backup_Docker.tar".gpg && tar -cvzf - "$dir_backup" | gpg --encrypt --recipient $recipient -o "$dir_docker/backup_Docker.tar".gpg
|
||||
fi
|
||||
Reference in New Issue
Block a user