Posts Tagged ‘backup’

Esportare una tabella MySQL in formato CSV utilizzando PHP

Il seguente codice PHP può essere utilizzato per exportare una tabella MySQL in formato CSV e quindi facilmente modificabile con MS Excel.

$link = mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die('Could not connect: '.mysql_error());
mysql_select_db($mysql_db,$link) or die('Could not select database: '.$mysql_db);

$query = "SELECT * FROM $tablename ORDER BY id";
$result = mysql_query($query) or die("Error executing query: ".mysql_error());
$row = mysql_fetch_assoc($result);
$line = "";
$comma = "";
foreach($row as $name => $value)
{
	$line .= $comma . '"' . str_replace('"', '""', $name) . '"';
	$comma = ";";
}
$line .= "\n";
$out = $line;

mysql_data_seek($result, 0);

while($row = mysql_fetch_assoc($result))
{
	$line = "";
	$comma = "";
	foreach($row as $value)
	{
		$line .= $comma . '"' . str_replace('"', '""', $value) . '"';
		$comma = ";";
	}
	$line .= "\n";
	$out.=$line;
}
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=listino.csv");
echo $out;
exit;

Backup & Restore di un database LDAP

La domanda di oggi è: vi è mai capitato di dover effettuare il backup di un database LDAP a caldo? Vi mostrerò oggi come effettuarlo creando un file ti tipo LDIF ed effettuare quindi il rispettivo restore (sperando sempre che non ce ne sia effettivamente l’esigenza). Dopo tutto è abbastanza semplice…

BACKUP:

ldapsearch -x -b "dc=example,dc=com" -h 192.168.0.1 -D "cn=manager,dc=example,dc=com" -w secret_password "(objectclass=*)" > backup_file.ldif

RESTORE: (da effettuare su un database vuoto)

ldapadd -D "cn=manager,dc=example,dc=com" -x -w secret_password -h 192.168.0.1 -f backup_file.ldif

Di seguito la spiegazione dei parametri utilizzati:

  • -x specifica l’utilizzo della “sample authentication” (anzichè SASL)
  • -b “dc=example,dc=com” indica il BaseDN del server, ovvero la posizione dalla quale effettuare la copia di tutti i nodi e le entry contenute
  • -h 192.168.0.1 indica l’indirizzo del server LDAP remoto
  • -D “cn=manager,dc=example,dc=com” specifica l’identificativo dell’utenza ai fini dell’autenticazione al server remoto
  • -w secret permette di specificare la password di accesso per l’utenza precedentemente indicata
  • “(objectclass=*)” da istruzione al ldapsearch di restituire tutte le entry
  • backup_file.ldif è il file, in formato LDIF, dove salvare il risultato della ricerca.