Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Cisteni databaze od starych accountu
- # arg1 - (default 30) - pocet dni po ktere nebyly accounty pouzivane
- # Konfigurace
- DB_HOST="localhost";
- DB_REALM="realmd";
- DB_MANGOS="characters";
- DB_USER="root";
- DB_PASS="heslo";
- # Minimalne deset dni
- if [ "${1}" != "" ] && [ ${1} -gt 1 ];
- then
- # Ziska accounty starsi nez $arg dni
- mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_REALM} -e "SELECT id,username,last_login,joindate FROM account WHERE last_login<DATE_SUB(NOW(),INTERVAL ${1} DAY) AND joindate<=last_login";
- # Kontrola
- echo -n " Souhlasite s vymazanim? a/n : ";
- read ans;
- # Ziskam idcka
- if [ "${ans}" != "a" ];
- then
- exit;
- fi
- echo;
- guids=$(mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_REALM} -e "SELECT id FROM account WHERE last_login<DATE_SUB(NOW(),INTERVAL ${1} DAY) AND joindate<=last_login");
- guids=${guids:2};
- # Pro kazde guid
- for guid in ${guids[@]};
- do
- echo "Mazu hrace account=${guid}";
- # Get character guids
- chguids=$(mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_MANGOS} -e "SELECT guid FROM \`character\` WHERE account='${guid}' AND level < 61");
- chguids=${chguids:4};
- # Kontrola prazdnych accountu
- if [ "${chguids}" != "" ];
- then
- # Smaz vsechny data linkovane na guid characteru
- for chguid in ${chguids[@]};
- do
- echo " Mazu character guid=${chguid}";
- # Tabulky
- tnames=(
- character_action
- character_aura
- character_homebind
- character_inventory
- character_kill
- character_queststatus
- character_reputation
- character_social
- character_spell
- character_spell_cooldown
- character_ticket
- character_tutorial
- character
- );
- # Ze vsech specifikovanych smaze data linkovane na guid characteru
- echo -n " Cistim tabulku character_*: ";
- for tname in ${tnames[@]}; do
- echo -ne "${tname//character_/},";
- mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_MANGOS} -e "DELETE FROM \`${tname}\` WHERE guid='${chguid}'" > /dev/null;
- done
- # Vyjimka kvuli neuniformni DB
- echo -ne "pet,";
- mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_MANGOS} -e "DELETE FROM \`character_pet\` WHERE owner='${chguid}'" > /dev/null;
- done
- fi
- # Smaze z realmu
- mysql -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} -D ${DB_REALM} -e "DELETE FROM \`account\` WHERE id='${guid}'";
- done
- else
- echo "Prilis kratky pocet dni.";
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement