En aquest xicotet article explique com m'ho he fet per tal d'obtenir al vol un llistat amb tots els correus electrònics de tots els redactors web d'una instal·lació multisite Drupal que tenim a la feina amb més de 110 webs independents.
A la feina tenim un Drupal pare que alberga més de 110 webs a /sites instal·lades en mode multisite. Cada projecte Drupal té la seua base de dades MariaDB amb les seues notícies, pàgines i usuaris. I ara necessitàvem obtenir tots els correus electrònics de tots els redactors web per tal d'enviar-los un butlletí informatiu. Doncs bé, m'he fet aquest script en Python que primer llista tots els projectes i després obté el correu electrònic, i finalment els va guardant a un fitxer en format .txt
L'script és així:
#/usr/bin/python2.7 # # Importem moduls import mysql.connector llista_bbdd = ['castellonord_db','penyagolosanord_db','pwm3L01120017','pwm3L01120022','pwm3L01120038','pwm3L01120043','pwm3L01120069','pwm3L01120075','pwm3L01120081','pwm3L01120108','pwm3L01120120','pwm3L01120136','pwm3L01120141','pwm3L01120154','pwm3L01120167','pwm3L01120173','pwm3L01120189','pwm3L01120206','pwm3L01120228','pwm3L01120249','pwm3L01120252','pwm3L01120265','pwm3L01120311','pwm3L01120347','pwm3L01120363','pwm3L01120379','pwm3L01120385','pwm3L01120398','pwm3L01120419','pwm3L01120424','pwm3L01120430','pwm3L01120458','pwm3L01120461','pwm3L01120483','pwm3L01120496','pwm3L01120509','pwm3L01120516','pwm3L01120521','pwm3L01120555','pwm3L01120568','pwm3L01120574','pwm3L01120580','pwm3L01120593','pwm3L01120607','pwm3L01120635','pwm3L01120640','pwm3L01120653','pwm3L01120672','pwm3L01120688','pwm3L01120691','pwm3L01120705','pwm3L01120727','pwm3L01120733','pwm3L01120748','pwm3L01120751','pwm3L01120764','pwm3L01120786','pwm3L01120799','pwm3L01120825','pwm3L01120831','pwm3L01120878','pwm3L01120884','pwm3L01120901','pwm3L01120918','pwm3L01120923','pwm3L01120939','pwm3L01120944','pwm3L01120957','pwm3L01120976','pwm3L01120982','pwm3L01120995','pwm3L01121016','pwm3L01121037','pwm3L01121068','pwm3L01121074','pwm3L01121080','pwm3L01121093','pwm3L01121107','pwm3L01121114','pwm3L01121129','pwm3L01121135','pwm3L01121140','pwm3L01121153','pwm3L01121166','pwm3L01121188','pwm3L01121191','pwm3L01121205','pwm3L01121212','pwm3L01121227','pwm3L01121233','pwm3L01121248','pwm3L01121251','pwm3L01121264','pwm3L01121270','pwm3L01121310','pwm3L01121325','pwm3L01121331','pwm3L01121346','pwm3L01121378','pwm3L01121397','pwm3L01121418','pwm3L01121423','pwm3L01129018','pwm3L01129023','pwm3L04120001','pwm3L05120003','pwm3L05120005','pwm3L05120007','pwm3L05120008','pwm3L05120009','pwm3L05120010','pwm3L09999999','pwm3_033','pwm3_061','pwm3_085','pwm3_105','pwm3_111','torreblanca_db'] for i in llista_bbdd: print ("\n\n==========================================\nWeb " + i + "\n==========================================\n") miConexion = mysql.connector.connect( host=''SERVIDOR_X', user= 'USUARI_X', passwd='CONTRASENYA_X', db=i) cur = miConexion.cursor() cur.execute( "SELECT mail FROM users_field_data WHERE uid>1;" ) resultado=cur.fetchall() print resultado # Escrivim al fitxer escrivim_arxiu = open('llistat_de_correus.txt', 'a') escrivim_arxiu.write(str(resultado)) escrivim_arxiu.close() #Tanquem la connexio amb la base de dades miConexion.close()