#!/bin/bash # Chemin où les fichiers seront créés, sans slash final output_dir="/etc/postfix/mycfg" # Vérifier si le dossier existe, sinon le créer if [ ! -d "$output_dir" ]; then mkdir -p "$output_dir" fi # Début commun à tous les fichiers (infos de la BDD) common_start="user = postfixadmin password = XXXX hosts = 127.0.0.1 dbname = postfixadmin" # Noms des fichiers # Attention, dans le même ordre que leurs query filenames=("mysql-virtual-mailbox-domains.cf" "mysql-virtual-mailbox-maps.cf" "mysql-virtual-alias-maps.cf" ) # Les variations spécifiques à chaque fichier variations=("query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = 0 AND active = 1" "query = SELECT maildir, quota FROM mailbox WHERE username='%s' AND active = 1" "query = SELECT goto FROM alias WHERE address='%s' AND active = 1" ) # Boucle pour créer les fichiers # Attention, adapter au nombre de fichier, sachant qu'on compte dès 0 ! # 2 fichiers = {0..1}, 3 = {0..2}, etc for i in {0..2}; do filename="${filenames[$i]}" full_path="$output_dir/$filename" # Écrire le contenu dans chaque fichier echo "$common_start" > "$full_path" echo "${variations[$i]}" >> "$full_path" echo "$filename a été créé avec la ligne : ${variations[$i]}" done