PDA

Visualizza la versione completa : [script bash] Backup Database


kakashi
20-03-2017, 13:44
Salve,
sto cercando di realizzare un piccolo script che legga i database esistenti e di conseguenza di farne un dump. L'obbiettivo inoltre di creare una struttura del tipo /bk/dominio.x/db/.

Premetto che uso Plesk quindi lancio la query di sistema per avere la lista di domini e i relativi domini




#!/bin/bash
var=$(/usr/bin/mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "USE psa;select domains ecc..." | awk '{print $1,$2}')

for db in $var
do
echo $db | awk -v i="$db" '{print $1"<"i">"$2}'
done





Il risultato questo



dominio<dominio> => il database ci sta ma lo stampa nella riga di sotto
db.dominio<db.dominio>


ecc..


La domanda , come faccio a stampare separatamente dominio e il nome del DB?
Grazie in anticipo

kakashi
21-03-2017, 02:01
Ho risolto, posto la soluzione.



#!/bin/bash

......

mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -e "select domains.name as Domain, data_bases.name as DB from domains LEFT JOIN data_bases ON data_bases.dom_id=domains.id order by domains.name" | while read Domain DB; do
if [ "$DB" ] | [ "$DB" != "NULL" ]; then
echo "BACKUP $Domain - DB : $DB"
fi
done

Loading