14 Oct 2009

Obtenir nom, mot de passe, utilisateur et hôte de la base de données d’un site TYPO3 en SSH

Voici comment obtenir le nom, le mot de passe, le nom d'utilisateur et l'hôte de la base de donnée d'un site TYPO3... en une seule ligne de commande !

    DEF_CMD=$(sed -e '/^ *\$typo_db\(_username\|_password\|_host\|[ =]\)/!d' \
    -e "s/[^\/\/]* *\$typo_db\(_username\|_password\|_host\|\) *=\
    *'\([^']*\)'.*$/typo_db\1='\2'/g" /var/lib/SITE/typo3conf/localconf.php)

    eval "$DEF_CMD"
  

Cela initialise les variables typo_db_username, typo_db_password, typo_db_host et typo_db que l'on peut utiliser par la suite dans un script de backup, par exemple.

L'intérêt d'avoir une seule ligne de commande pour obtenir ces informations se fait sentir quand on passe par une connexion shh, pour limiter le nombre de connexions. Cela ressemble alors à ceci:

    DEF_CMD=$(/usr/bin/ssh -i /home/MOI/.ssh/id_rsa \
    MOI@90.135.4.134 \
    "sed -e '/^ *\$typo_db\(_username\|_password\|_host\|[ =]\)/!d' \
    -e \"s/[^\/\/]* *\\\$typo_db\(_username\|_password\|_host\|\) \
    *= *'\([^']*\)'.*$/typo_db\1='\2'/g\" \
    /var/lib/SITE/typo3conf/localconf.php")

    eval "$DEF_CMD"