mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-12 15:25:57 +00:00
Rename script 'clusters.cron-backups.sh' to 'clusters.backup-multiple-servers.sh'
This commit is contained in:
parent
1f28bed280
commit
524d651553
@ -1,7 +1,7 @@
|
||||
# branding folder used for "docker compose up" run in deployment folder
|
||||
CONFIGURATION=stage.ocelot.social
|
||||
|
||||
# used in "scripts/clusters.cron-backups.sh"
|
||||
# used in "scripts/clusters.backup-multiple-servers.sh"
|
||||
BACKUP_CONFIGURATIONS="stage.ocelot.social stage.wir.social"
|
||||
# if '<= 0' no backups will be deleted
|
||||
BACKUP_SAVED_BACKUPS_NUMBER=7
|
||||
@ -100,7 +100,7 @@ To actually save all the backups run:
|
||||
|
||||
# save all backups listed in 'BACKUP_CONFIGURATIONS'
|
||||
# delete all backups older then the 'BACKUP_SAVED_BACKUPS_NUMBER' newest ones
|
||||
$ scripts/clusters.cron-backups.sh
|
||||
$ scripts/clusters.backup-multiple-servers.sh
|
||||
```
|
||||
|
||||
The backups will be saved into your networks folders `backup` folder in a new folder with the date and time.
|
||||
|
||||
89
deployment/scripts/clusters.backup-multiple-servers.sh
Executable file
89
deployment/scripts/clusters.backup-multiple-servers.sh
Executable file
@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
# time stamp
|
||||
printf "\nMultiple backups started at:\n "
|
||||
date
|
||||
|
||||
# base setup
|
||||
SCRIPT_PATH=$(realpath $0)
|
||||
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
||||
|
||||
# save old CONFIGURATION for later reset
|
||||
SAVE_CONFIGURATION=$CONFIGURATION
|
||||
|
||||
# export all variables in "../.env"
|
||||
set -a
|
||||
source ${SCRIPT_DIR}/../.env
|
||||
set +a
|
||||
|
||||
# check BACKUP_CONFIGURATIONS
|
||||
if [[ -z ${BACKUP_CONFIGURATIONS} ]]; then
|
||||
echo "You must provide a 'BACKUP_CONFIGURATIONS' via environment variable"
|
||||
exit 1
|
||||
fi
|
||||
# check BACKUP_SAVED_BACKUPS_NUMBER
|
||||
if [[ -z ${BACKUP_SAVED_BACKUPS_NUMBER} ]]; then
|
||||
echo "You must provide a 'BACKUP_SAVED_BACKUPS_NUMBER' via environment variable"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# deleting backups?
|
||||
if (( BACKUP_SAVED_BACKUPS_NUMBER >= 1 )); then
|
||||
printf "Keep the last %d backups for all networks.\n" $BACKUP_SAVED_BACKUPS_NUMBER
|
||||
else
|
||||
echo "!!! ATTENTION: No backups are deleted !!!"
|
||||
fi
|
||||
|
||||
# convert configurations to array
|
||||
IFS=' ' read -a CONFIGURATIONS_ARRAY <<< "$BACKUP_CONFIGURATIONS"
|
||||
|
||||
# display the clusters
|
||||
printf "Backup the clusters:\n"
|
||||
for i in "${CONFIGURATIONS_ARRAY[@]}"
|
||||
do
|
||||
echo " $i"
|
||||
done
|
||||
echo "Cancel by ^C. You have 15 seconds"
|
||||
# wait for the admin to react
|
||||
sleep 15
|
||||
|
||||
printf "\n"
|
||||
|
||||
for i in "${CONFIGURATIONS_ARRAY[@]}"
|
||||
do
|
||||
CONFIGURATION=$i
|
||||
# individual cluster backup
|
||||
${SCRIPT_DIR}/cluster.backup.sh
|
||||
|
||||
# deleting backups?
|
||||
if (( BACKUP_SAVED_BACKUPS_NUMBER >= 1 )); then
|
||||
# delete all oldest backups, but leave the last BACKUP_SAVED_BACKUPS_NUMBER
|
||||
|
||||
keep=$BACKUP_SAVED_BACKUPS_NUMBER
|
||||
path="$SCRIPT_DIR/../configurations/$CONFIGURATION/backup/"
|
||||
|
||||
cd $path
|
||||
|
||||
printf "In\n '$path'\n remove:\n"
|
||||
# TODO: replace 'ls' by 'find . -type d -maxdepth 1'? description: https://unix.stackexchange.com/questions/28939/how-to-delete-the-oldest-directory-in-a-given-directory
|
||||
while [ `ls -1 | wc -l` -gt $keep ]; do
|
||||
oldest=`ls -c1 | head -1`
|
||||
echo " $oldest"
|
||||
rm -rf $oldest
|
||||
done
|
||||
|
||||
printf "Keep the last %d backups:\n " $BACKUP_SAVED_BACKUPS_NUMBER
|
||||
ls
|
||||
|
||||
cd $SCRIPT_DIR
|
||||
else
|
||||
echo "!!! ATTENTION: No backups are deleted !!!"
|
||||
fi
|
||||
|
||||
printf "\n"
|
||||
done
|
||||
|
||||
# reset CONFIGURATION to old
|
||||
# TODO: clearily if this is the same as: $ export CONFIGURATION=${SAVE_CONFIGURATION}"
|
||||
CONFIGURATION=$SAVE_CONFIGURATION
|
||||
echo "Reset to CONFIGURATION=$CONFIGURATION"
|
||||
@ -1,89 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# time stamp
|
||||
printf "\nMultiple backups started at:\n "
|
||||
date
|
||||
|
||||
# base setup
|
||||
SCRIPT_PATH=$(realpath $0)
|
||||
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
||||
|
||||
# save old CONFIGURATION for later reset
|
||||
SAVE_CONFIGURATION=$CONFIGURATION
|
||||
|
||||
# export all variables in "../.env"
|
||||
set -a
|
||||
source ${SCRIPT_DIR}/../.env
|
||||
set +a
|
||||
|
||||
# check BACKUP_CONFIGURATIONS
|
||||
if [[ -z ${BACKUP_CONFIGURATIONS} ]]; then
|
||||
echo "You must provide a 'BACKUP_CONFIGURATIONS' via environment variable"
|
||||
exit 1
|
||||
fi
|
||||
# check BACKUP_SAVED_BACKUPS_NUMBER
|
||||
if [[ -z ${BACKUP_SAVED_BACKUPS_NUMBER} ]]; then
|
||||
echo "You must provide a 'BACKUP_SAVED_BACKUPS_NUMBER' via environment variable"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# deleting backups?
|
||||
if (( BACKUP_SAVED_BACKUPS_NUMBER >= 1 )); then
|
||||
printf "Keep the last %d backups for all networks.\n" $BACKUP_SAVED_BACKUPS_NUMBER
|
||||
else
|
||||
echo "!!! ATTENTION: No backups are deleted !!!"
|
||||
fi
|
||||
|
||||
# convert configurations to array
|
||||
IFS=' ' read -a CONFIGURATIONS_ARRAY <<< "$BACKUP_CONFIGURATIONS"
|
||||
|
||||
# display the clusters
|
||||
printf "Backup the clusters:\n"
|
||||
for i in "${CONFIGURATIONS_ARRAY[@]}"
|
||||
do
|
||||
echo " $i"
|
||||
done
|
||||
echo "Cancel by ^C. You have 15 seconds"
|
||||
# # wait for the admin to react
|
||||
# sleep 15
|
||||
|
||||
# printf "\n"
|
||||
|
||||
# for i in "${CONFIGURATIONS_ARRAY[@]}"
|
||||
# do
|
||||
# CONFIGURATION=$i
|
||||
# # individual cluster backup
|
||||
# ${SCRIPT_DIR}/cluster.backup.sh
|
||||
|
||||
# # deleting backups?
|
||||
# if (( BACKUP_SAVED_BACKUPS_NUMBER >= 1 )); then
|
||||
# # delete all oldest backups, but leave the last BACKUP_SAVED_BACKUPS_NUMBER
|
||||
|
||||
# keep=$BACKUP_SAVED_BACKUPS_NUMBER
|
||||
# path="$SCRIPT_DIR/../configurations/$CONFIGURATION/backup/"
|
||||
|
||||
# cd $path
|
||||
|
||||
# printf "In\n '$path'\n remove:\n"
|
||||
# # TODO: replace 'ls' by 'find . -type d -maxdepth 1'? description: https://unix.stackexchange.com/questions/28939/how-to-delete-the-oldest-directory-in-a-given-directory
|
||||
# while [ `ls -1 | wc -l` -gt $keep ]; do
|
||||
# oldest=`ls -c1 | head -1`
|
||||
# echo " $oldest"
|
||||
# rm -rf $oldest
|
||||
# done
|
||||
|
||||
# printf "Keep the last %d backups:\n " $BACKUP_SAVED_BACKUPS_NUMBER
|
||||
# ls
|
||||
|
||||
# cd $SCRIPT_DIR
|
||||
# else
|
||||
# echo "!!! ATTENTION: No backups are deleted !!!"
|
||||
# fi
|
||||
|
||||
# printf "\n"
|
||||
# done
|
||||
|
||||
# # reset CONFIGURATION to old
|
||||
# # TODO: clearily if this is the same as: $ export CONFIGURATION=${SAVE_CONFIGURATION}"
|
||||
# CONFIGURATION=$SAVE_CONFIGURATION
|
||||
# echo "Reset to CONFIGURATION=$CONFIGURATION"
|
||||
Loading…
x
Reference in New Issue
Block a user