mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
Backup check root et subdir
This commit is contained in:
parent
b713cdb303
commit
a5a8cb257a
1 changed files with 85 additions and 64 deletions
|
@ -377,68 +377,86 @@ CHECK_BACKUP_RESTORE () {
|
||||||
if [ -n "$MANIFEST_PUBLIC" ] && [ -n "$MANIFEST_PUBLIC_public" ]; then # Si possible, install en public pour le test d'accès url
|
if [ -n "$MANIFEST_PUBLIC" ] && [ -n "$MANIFEST_PUBLIC_public" ]; then # Si possible, install en public pour le test d'accès url
|
||||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_PUBLIC=[a-Z]*\&/$MANIFEST_PUBLIC=$MANIFEST_PUBLIC_public\&/")
|
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_PUBLIC=[a-Z]*\&/$MANIFEST_PUBLIC=$MANIFEST_PUBLIC_public\&/")
|
||||||
fi
|
fi
|
||||||
if [ "$GLOBAL_CHECK_ROOT" -eq 1 ]; then # Utilise une install root, si elle a fonctionné
|
for i in 0 1
|
||||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=/\&@")
|
do # 2 passes, pour effectuer un test en root et en sub_dir
|
||||||
CHECK_PATH="/"
|
if [ "$i" -eq 0 ]
|
||||||
elif [ "$GLOBAL_CHECK_SUB_DIR" -eq 1 ] || [ "$force_install_ok" -eq 1 ]; then # Si l'install en sub_dir à fonctionné. Ou si l'argument force_install_ok est présent. Utilise ce mode d'installation
|
then # Commence par l'install root
|
||||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=$PATH_TEST\&@")
|
if [ "$GLOBAL_CHECK_ROOT" -eq 1 ] || [ "$force_install_ok" -eq 1 ]; then # Utilise une install root, si elle a fonctionné. Ou si l'argument force_install_ok est présent.
|
||||||
CHECK_PATH="$PATH_TEST"
|
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=/\&@")
|
||||||
else
|
CHECK_PATH="/"
|
||||||
echo "Aucun mode d'installation n'a fonctionné, impossible d'effectuer ce test..."
|
ECHO_FORMAT "\nInstallation préalable à la racine...\n" "white" "bold"
|
||||||
return;
|
else
|
||||||
fi
|
echo "L'installation à la racine n'a pas fonctionnée, impossible d'effectuer ce test..."
|
||||||
ECHO_FORMAT "\nInstallation préalable...\n" "white" "bold"
|
continue;
|
||||||
# Installation de l'app
|
fi
|
||||||
SETUP_APP
|
elif [ "$i" -eq 1 ]
|
||||||
LOG_EXTRACTOR
|
then # Puis teste l'install sub_dir
|
||||||
ECHO_FORMAT "\nBackup de l'application...\n" "white" "bold"
|
if [ "$GLOBAL_CHECK_SUB_DIR" -eq 1 ] || [ "$force_install_ok" -eq 1 ]; then # Si l'install en sub_dir à fonctionné. Ou si l'argument force_install_ok est présent. Utilise ce mode d'installation
|
||||||
# Backup de l'app
|
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=$PATH_TEST\&@")
|
||||||
COPY_LOG 1
|
CHECK_PATH="$PATH_TEST"
|
||||||
LXC_START "sudo yunohost --debug backup create -n Backup_test --apps $APPID --hooks $BACKUP_HOOKS"
|
ECHO_FORMAT "\nInstallation préalable en sous-dossier...\n" "white" "bold"
|
||||||
YUNOHOST_RESULT=$?
|
else
|
||||||
COPY_LOG 2
|
echo "L'installation en sous-dossier n'a pas fonctionnée, impossible d'effectuer ce test..."
|
||||||
LOG_EXTRACTOR
|
return;
|
||||||
tnote=$((tnote+1))
|
fi
|
||||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
|
||||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
|
||||||
note=$((note+1))
|
|
||||||
GLOBAL_CHECK_BACKUP=1 # Backup réussi
|
|
||||||
else
|
|
||||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
|
||||||
GLOBAL_CHECK_BACKUP=-1 # Backup échoué
|
|
||||||
fi
|
|
||||||
# Suppression de l'app
|
|
||||||
REMOVE_APP
|
|
||||||
ECHO_FORMAT "\nRestauration de l'application...\n" "white" "bold"
|
|
||||||
# Restore de l'app
|
|
||||||
COPY_LOG 1
|
|
||||||
LXC_START "sudo yunohost --debug backup restore Backup_test --force --apps $APPID"
|
|
||||||
YUNOHOST_RESULT=$?
|
|
||||||
COPY_LOG 2
|
|
||||||
LOG_EXTRACTOR
|
|
||||||
# Test l'accès à l'app
|
|
||||||
CHECK_URL
|
|
||||||
tnote=$((tnote+1))
|
|
||||||
if [ "$YUNOHOST_RESULT" -eq 0 ] && [ "$curl_error" -eq 0 ]; then
|
|
||||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
|
||||||
note=$((note+1))
|
|
||||||
GLOBAL_CHECK_RESTORE=1 # Restore réussi
|
|
||||||
else
|
|
||||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
|
||||||
GLOBAL_CHECK_RESTORE=-1 # Restore échoué
|
|
||||||
fi
|
|
||||||
if [ "$no_lxc" -ne 0 ]; then
|
|
||||||
# Suppression de l'app si lxc n'est pas utilisé.
|
|
||||||
REMOVE_APP
|
|
||||||
# Suppression de l'archive
|
|
||||||
sudo yunohost backup delete Backup_test > /dev/null
|
|
||||||
elif [ "$auto_remove" -eq 0 ] && [ "$bash_mode" -ne 1 ]; then # Si l'auto_remove est désactivée. Marque une pause avant de continuer.
|
|
||||||
if [ "$no_lxc" -eq 0 ]; then
|
|
||||||
echo "Utilisez ssh pour vous connecter au conteneur LXC. 'ssh $ARG_SSH $LXC_NAME'"
|
|
||||||
fi
|
fi
|
||||||
read -p "Appuyer sur une touche pour continuer les tests..." < /dev/tty
|
# Installation de l'app
|
||||||
fi
|
SETUP_APP
|
||||||
YUNOHOST_RESULT=-1
|
LOG_EXTRACTOR
|
||||||
|
ECHO_FORMAT "\nBackup de l'application...\n" "white" "bold"
|
||||||
|
# Backup de l'app
|
||||||
|
COPY_LOG 1
|
||||||
|
LXC_START "sudo yunohost --debug backup create -n Backup_test --apps $APPID --hooks $BACKUP_HOOKS"
|
||||||
|
YUNOHOST_RESULT=$?
|
||||||
|
COPY_LOG 2
|
||||||
|
LOG_EXTRACTOR
|
||||||
|
tnote=$((tnote+1))
|
||||||
|
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||||
|
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||||
|
note=$((note+1))
|
||||||
|
if [ $GLOBAL_CHECK_BACKUP -ne -1 ]; then # Le backup ne peux pas être réussi si il a échoué précédemment...
|
||||||
|
GLOBAL_CHECK_BACKUP=1 # Backup réussi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||||
|
GLOBAL_CHECK_BACKUP=-1 # Backup échoué
|
||||||
|
fi
|
||||||
|
# Suppression de l'app
|
||||||
|
REMOVE_APP
|
||||||
|
ECHO_FORMAT "\nRestauration de l'application...\n" "white" "bold"
|
||||||
|
# Restore de l'app
|
||||||
|
COPY_LOG 1
|
||||||
|
LXC_START "sudo yunohost --debug backup restore Backup_test --force --apps $APPID"
|
||||||
|
YUNOHOST_RESULT=$?
|
||||||
|
COPY_LOG 2
|
||||||
|
LOG_EXTRACTOR
|
||||||
|
# Test l'accès à l'app
|
||||||
|
CHECK_URL
|
||||||
|
tnote=$((tnote+1))
|
||||||
|
if [ "$YUNOHOST_RESULT" -eq 0 ] && [ "$curl_error" -eq 0 ]; then
|
||||||
|
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||||
|
note=$((note+1))
|
||||||
|
if [ $GLOBAL_CHECK_RESTORE -ne -1 ]; then # La restauration ne peux pas être réussie si elle a échouée précédemment...
|
||||||
|
GLOBAL_CHECK_RESTORE=1 # Restore réussi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||||
|
GLOBAL_CHECK_RESTORE=-1 # Restore échoué
|
||||||
|
fi
|
||||||
|
if [ "$no_lxc" -ne 0 ]; then
|
||||||
|
# Suppression de l'app si lxc n'est pas utilisé.
|
||||||
|
REMOVE_APP
|
||||||
|
# Suppression de l'archive
|
||||||
|
sudo yunohost backup delete Backup_test > /dev/null
|
||||||
|
elif [ "$auto_remove" -eq 0 ] && [ "$bash_mode" -ne 1 ]; then # Si l'auto_remove est désactivée. Marque une pause avant de continuer.
|
||||||
|
if [ "$no_lxc" -eq 0 ]; then
|
||||||
|
echo "Utilisez ssh pour vous connecter au conteneur LXC. 'ssh $ARG_SSH $LXC_NAME'"
|
||||||
|
fi
|
||||||
|
read -p "Appuyer sur une touche pour continuer les tests..." < /dev/tty
|
||||||
|
fi
|
||||||
|
YUNOHOST_RESULT=-1
|
||||||
|
LXC_STOP # Restaure le snapshot du conteneur avant de recommencer le processus de backup
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
CHECK_PUBLIC_PRIVATE () {
|
CHECK_PUBLIC_PRIVATE () {
|
||||||
|
@ -518,10 +536,14 @@ CHECK_PUBLIC_PRIVATE () {
|
||||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||||
note=$((note+1))
|
note=$((note+1))
|
||||||
if [ "$1" == "private" ]; then
|
if [ "$1" == "private" ]; then
|
||||||
GLOBAL_CHECK_PRIVATE=1 # Installation privée réussie
|
if [ $GLOBAL_CHECK_PRIVATE -ne -1 ]; then # L'installation ne peux pas être réussie si elle a échouée précédemment...
|
||||||
|
GLOBAL_CHECK_PRIVATE=1 # Installation privée réussie
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$1" == "public" ]; then
|
if [ "$1" == "public" ]; then
|
||||||
GLOBAL_CHECK_PUBLIC=1 # Installation publique réussie
|
if [ $GLOBAL_CHECK_PUBLIC -ne -1 ]; then # L'installation ne peux pas être réussie si elle a échouée précédemment...
|
||||||
|
GLOBAL_CHECK_PUBLIC=1 # Installation publique réussie
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||||
|
@ -874,6 +896,5 @@ TESTING_PROCESS () {
|
||||||
fi
|
fi
|
||||||
if [ "$backup_restore" -eq 1 ]; then
|
if [ "$backup_restore" -eq 1 ]; then
|
||||||
CHECK_BACKUP_RESTORE # Test de backup puis de Restauration
|
CHECK_BACKUP_RESTORE # Test de backup puis de Restauration
|
||||||
LXC_STOP
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue