mirror of
https://github.com/Erreur32/nginx-proxy-manager-Bash-API.git
synced 2024-12-22 13:32:11 +01:00
ADD in BACKUP function all SSL certificats in same directory.
This commit is contained in:
parent
abb161c61d
commit
a3f1d8bdf3
1 changed files with 19 additions and 4 deletions
|
@ -1656,6 +1656,7 @@ show_default() {
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## backup
|
||||||
## backup
|
## backup
|
||||||
# Function to make a full backup
|
# Function to make a full backup
|
||||||
full_backup() {
|
full_backup() {
|
||||||
|
@ -1663,21 +1664,18 @@ full_backup() {
|
||||||
|
|
||||||
# Get the current date in a formatted string
|
# Get the current date in a formatted string
|
||||||
DATE=$(date +"_%Y_%m_%d__%H_%M_%S")
|
DATE=$(date +"_%Y_%m_%d__%H_%M_%S")
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Function to sanitize names for directory
|
# Function to sanitize names for directory
|
||||||
sanitize_name() {
|
sanitize_name() {
|
||||||
echo "$1" | sed 's/[^a-zA-Z0-9]/_/g'
|
echo "$1" | sed 's/[^a-zA-Z0-9]/_/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Initialize counters
|
# Initialize counters
|
||||||
USER_COUNT=0
|
USER_COUNT=0
|
||||||
|
|
||||||
# Create subdirectories
|
# Create subdirectories
|
||||||
mkdir -p "$BACKUP_DIR/.user"
|
mkdir -p "$BACKUP_DIR/.user"
|
||||||
mkdir -p "$BACKUP_DIR/.settings"
|
mkdir -p "$BACKUP_DIR/.settings"
|
||||||
mkdir -p "$BACKUP_DIR/.access_lists"
|
mkdir -p "$BACKUP_DIR/.access_lists"
|
||||||
|
mkdir -p "$BACKUP_DIR/.ssl"
|
||||||
|
|
||||||
# Backup users
|
# Backup users
|
||||||
USERS_FILE="$BACKUP_DIR/.user/users_${NGINX_IP//./_}$DATE.json"
|
USERS_FILE="$BACKUP_DIR/.user/users_${NGINX_IP//./_}$DATE.json"
|
||||||
|
@ -1702,6 +1700,23 @@ full_backup() {
|
||||||
echo -e " ⛔ ${COLOR_RED}Failed to backup settings.${COLOR_RESET}"
|
echo -e " ⛔ ${COLOR_RED}Failed to backup settings.${COLOR_RESET}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Backup SSL certificates
|
||||||
|
RESPONSE=$(curl -s -X GET "$BASE_URL/nginx/certificates" \
|
||||||
|
-H "Authorization: Bearer $(cat $TOKEN_FILE)")
|
||||||
|
if [ -n "$RESPONSE" ]; then
|
||||||
|
echo "$RESPONSE" | jq -c '.[]' | while read -r cert; do
|
||||||
|
CERT_ID=$(echo "$cert" | jq -r '.id')
|
||||||
|
CERT_NICE_NAME=$(echo "$cert" | jq -r '.nice_name')
|
||||||
|
SANITIZED_CERT_NAME=$(sanitize_name "$CERT_NICE_NAME")
|
||||||
|
CERT_FILE="$BACKUP_DIR/.ssl/ssl_cert_${SANITIZED_CERT_NAME}_${CERT_ID}_${NGINX_IP//./_}$DATE.json"
|
||||||
|
echo "$cert" | jq '.' > "$CERT_FILE"
|
||||||
|
done
|
||||||
|
CERT_COUNT=$(echo "$RESPONSE" | jq '. | length')
|
||||||
|
echo -e " ✅ ${COLOR_GREEN}SSL certif backup completed 🆗${COLOR_GREY}: $CERT_COUNT certificates saved.${COLOR_RESET}"
|
||||||
|
else
|
||||||
|
echo -e " ⛔ ${COLOR_RED}Failed to backup SSL certificates.${COLOR_RESET}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Backup proxy hosts
|
# Backup proxy hosts
|
||||||
RESPONSE=$(curl -s -X GET "$BASE_URL/nginx/proxy-hosts" \
|
RESPONSE=$(curl -s -X GET "$BASE_URL/nginx/proxy-hosts" \
|
||||||
-H "Authorization: Bearer $(cat $TOKEN_FILE)")
|
-H "Authorization: Bearer $(cat $TOKEN_FILE)")
|
||||||
|
|
Loading…
Reference in a new issue