Add castopod_update
This commit is contained in:
parent
fb062731fe
commit
572bb05afc
|
@ -0,0 +1,87 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Obtenir la date et l'heure actuelles
|
||||
current_date=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
|
||||
# Definitions
|
||||
archive_save="save_castopod.tar"
|
||||
rep_save="save_castopod"
|
||||
sources_save=("castopod/public/media" "castopod/.env")
|
||||
|
||||
|
||||
# Vérifier la présence d'une archive TAR
|
||||
if [ -e "$archive_save" ]; then
|
||||
|
||||
echo "Démarrer l'extraction de l'archive TAR"
|
||||
pv "$archive_save" | tar xf -
|
||||
rm "$archive_save"
|
||||
|
||||
echo "Extraction terminée."
|
||||
else
|
||||
echo "Aucune archive TAR '$archive_save' trouvée. Pas de sauvegarde précédente trouvée."
|
||||
fi
|
||||
|
||||
echo " -- "
|
||||
|
||||
# Synchroniser les fichiers sources avec le dossier de sauvegarde
|
||||
mkdir -vp "$rep_save/"
|
||||
echo " -- "
|
||||
|
||||
echo "Sauvegarde des fichiers medias"
|
||||
|
||||
# Parcourir le tableau des sources de sauvegarde
|
||||
for source in "${sources_save[@]}"; do
|
||||
# Afficher la source de sauvegarde
|
||||
echo "Source de sauvegarde : $source"
|
||||
|
||||
rsync -a "$source" "$rep_save/"
|
||||
done
|
||||
|
||||
echo " -- "
|
||||
|
||||
# Vérifier la présence de l'archive ZIP
|
||||
if [[ -n $(ls castopod*.zip 2>/dev/null) ]]; then
|
||||
|
||||
# Supprimer tous les fichiers et dossiers, sauf .env et public/media
|
||||
find castopod/ -not -name '.env' -not -path 'castopod/public/media/*' -delete
|
||||
|
||||
# Extraire le fichier ZIP présent dans le dossier courant
|
||||
unzip -o -q castopod*.zip
|
||||
|
||||
# Désactiver l'archive en renommant les fichiers ZIP en ajoutant ".old" à leur nom
|
||||
for file in castopod*.zip; do
|
||||
mv "$file" "${file}.old"
|
||||
done
|
||||
|
||||
|
||||
# Mettre à jour le schéma de la base de données
|
||||
/usr/bin/php8.1 castopod/spark castopod:database-update
|
||||
|
||||
|
||||
else
|
||||
echo "Aucune archive ZIP commençant par 'castopod' trouvée. Pas de mise à jour."
|
||||
fi
|
||||
|
||||
echo " -- "
|
||||
|
||||
|
||||
# Créer une nouvelle archive compressée à partir du répertoire de sauvegarde et supprimer le répertoire
|
||||
|
||||
if [ -e "$rep_save/" ]; then
|
||||
|
||||
echo "Création de l'archive en cours '$archive_save'"
|
||||
# Créer l'archive avec tar et afficher la progression
|
||||
tar -cf - ./"$rep_save"/ -P | pv -s $(du -sb ./"$rep_save"/ | awk '{print $1}') > "$archive_save"
|
||||
echo "Création de l'archive terminée."
|
||||
echo " -- "
|
||||
|
||||
# Supprimer le répertoire avec une barre de progression
|
||||
echo "Suppression du répertoire en cours '$rep_save/'"
|
||||
rm -vrf "$rep_save/" | pv -l -s $(du -a "$rep_save/" 2>/dev/null | wc -l) > /dev/null
|
||||
echo "Suppression du répertoire terminée."
|
||||
else
|
||||
echo "Le répertoire '$rep_save/' n'existe pas. Interruption de l'opération."
|
||||
fi
|
||||
|
||||
echo " -- "
|
10
prep.sh
10
prep.sh
|
@ -105,3 +105,13 @@ fi
|
|||
log "Lister les fichiers présents dans local/share/man"
|
||||
ls local/share/man/ -c1 >.config/files_local-share-man
|
||||
|
||||
|
||||
|
||||
|
||||
## Résumé des DOC
|
||||
|
||||
for fichier in local/share/doc/*.md; do
|
||||
echo "Résumé pour $fichier :"
|
||||
awk '/DESCRIPTION/{flag=1; next} /^$/{flag=0} flag' "$fichier"
|
||||
echo "..."
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue