54 lines
No EOL
1.8 KiB
Bash
Executable file
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 |