ruscomap/script/pulisci_manualmente_vecchio_rusco.sh
2024-11-18 15:43:34 +01:00

54 lines
No EOL
1.8 KiB
Bash
Executable file

#!/bin/bash
# Script per cancellare tutti i record della table "markers" più vecchi di 24h (manuale)
# Imposta credenziali
DB_USER=$(jq -r '.db.user' ../server/config/default.json)
DB_PASS=$(jq -r '.db.password' ../server/config/default.json)
DB_NAME=$(jq -r '.db.database' ../server/config/default.json)
TABLE_NAME=$(jq -r '.db.table' ../server/config/default.json)
# Controlla se DB_USER è "myusername"
if [ "$DB_USER" == "myusername" ]; then
echo -e "1nDevi impostare nome utente e password per usare lo script"
echo -e "editalo con nano pulisci_vecchio_rusco.sh"
exit 0
fi
# Mostra dati impostati
echo -e "\nDati impostati:"
echo -e "$DB_USER"
echo -e "$DB_PASS"
echo -e "$DB_NAME"
echo -e "$TABLE_NAME\n"
# Chiedi all'utente se i dati sono giusti
read -p "I dati sono giusti? Vuoi continuare? (y/yes/s/si): " user_input
# Converti l'input in minuscolo
user_input_lower=$(echo "$user_input" | tr '[:upper:]' '[:lower:]')
# Controlla se l'input è uno dei valori accettabili
if [[ "$user_input_lower" == "y" || "$user_input_lower" == "yes" || "$user_input_lower" == "s" || "$user_input_lower" == "si" ]]; then
echo -e "Cancello la table $TABLE_NAME..."
# Prendi l'ora e data meno 24 ore
TIME_THRESHOLD=$(date -d '24 hours ago' '+%Y-%m-%d %H:%M:%S')
# comando sql che cancella i record piu vecchi di 24h
SQL_COMMAND="DELETE FROM $TABLE_NAME WHERE ts < '$TIME_THRESHOLD';"
# esegue il comando Execute the SQL command
mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" -e "$SQL_COMMAND"
# elimina tutte le immagini caricate più di 24h fa
find ../uploads -type f -mmin +1440 -exec rm {} \;
# check del comando
if [ $? -eq 0 ]; then
echo "Rusco più vecchi di 24h cancellato."
else
echo "\nErrore!\n"
fi
fi