SELECT et DELETE USER avec Trace Log
Bonjour à tous,
Je cherche un script .sql qui ferait un select sur un "champ" 'user_real_name' pour test de présence et un delete du user trouvé par ce select avec une 'log' de cette suppression.
Voilà le script que j'utilise, il fait bien le select, mais ne le supprime pas et bien sûr je n'ai aucune log
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| if [[ "$1" == "--dry-run" ]]
4 then
5 echo "Running in test MODE..."
6 elif [[ "$1" == "--run" ]]
7 then
8 echo "Running in RUN MODE..."
9 else
10 echo "Usage: $0 [--test-run][--run]"
11 echo "Mass delete users"
12 echo "Use --test-run to test"
13 echo "Use --run to execute"
14 exit 1
15 fi
16
17 MW_ROOT=/xxx/xxx/xxxxx
18 MWDB_PREFIX='xxxx_'
19
20 DB="xxxx"
21 DATABASE_HOST="xxxxxx"
22 DATABASE_PORT="xxxx"
23 DATABASE_USER="xxxxx"
24 DATABASE_PASSWD="xxxxx"
25 SQL_FICHIERS=" SELECT user_id, user_name
26 FROM xxxx_user
27 WHERE (user_real_name = 'S00xxxxx' or user_real_name = 'S00xxxxx' or user_real_name = 'S00xxxxx' )
28 ;"
29 SQL_UNBLOCK="delete from test_ipblocks;"
30
31
32 #Unblock blocked user
33 echo $SQL_UNBLOCK | php -f $MW_ROOT/maintenance/sql.php
34
35
36
37 #Build user list to delete
38
39 tmp=tmp_1452;
40
41 rm -fr $tmp;
42 echo $SQL_FICHIERS | php -f $MW_ROOT/maintenance/sql.php > $tmp
43
44 #Récupere les utilsiateurs qui sont a supprimer, et pour chacun d'eux, on appelle le fichier itceUserMergeDelete.php en passant en paramètes l'id du suer et son nom
45 mysql -h$DATABASE_HOST -P$DATABASE_PORT -u$DATABASE_USER -p$DATABASE_PASSWD -B --exec="connect $WIKI_DB; $SQL_FICHIERS" | while read user_id user_name;
46 do
47 php -f $MW_ROOT/utils/Scripts/xxxxMergeDelete.php $user_id "$user_name"
48 echo "$user_name ----> Delete"
49 done
50 #echo $SQL_FICHIERS | php -f $MW_ROOT/maintenance/sql.php | awk -f script.awk | awk '{print "php $MW_ROOT/utils/Scripts/UserMergeDelete.php" $0 }' >> test.txt;
51
52 rm -fr $tmp; |
J'ai bien évidement, pour des raisons de confidentialité remplacé les vraies valeurs par des "xxxxx", mais ce script n'a pas d'erreur de syntaxe, il ne fait pas le delete des users.