« Disque Réseau » : différence entre les versions

De Epsi-Wis
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 27 : Ligne 27 :




<code>
#!/bin/bash
# Script de sauvegarde des bases de données mysql/mariadb
# Les valeurs à paramétrer sont en fin de script dans la fonction main()


get_databases_to_backup() {
#!/bin/bash
    mysql_command=$(command -v mysql)
# Script de sauvegarde des bases de données mysql/mariadb
    databases_list=$($mysql_command --defaults-file=/etc/mysql/debian.cnf -Bse 'show databases')
# Les valeurs à paramétrer sont en fin de script dans la fonction main()
 
    for exclude in $databases_exclude_list
get_databases_to_backup() {
    do
    mysql_command=$(command -v mysql)
      databases_list=${databases_list//$exclude/}
    databases_list=$($mysql_command --defaults-file=/etc/mysql/debian.cnf -Bse 'show databases')
    done
}
      for exclude in $databases_exclude_list
dump_databases () {
      do
    ext=".sql.gz"
        databases_list=${databases_list//$exclude/}
    mysqldump_command=$(command -v mysqldump)
      done
    compress_command=$(command -v gzip)
}
    current_date=$(date +%F_%Hh%M)
dump_databases () {
    cd "${backup_folder}" || exit
    ext=".sql.gz"
    for database in $databases_list
    mysqldump_command=$(command -v mysqldump)
    do
    compress_command=$(command -v gzip)
        $mysqldump_command --defaults-file=/etc/mysql/debian.cnf "$database" | $compress_command  > "${database}"_"${current_date}"${ext}
    current_date=$(date +%F_%Hh%M)
        echo "Backing up database: ${database}…"
    cd "${backup_folder}" || exit
    done
    for database in $databases_list
 
    do
    echo "$(date +%c): Backup complete!"
        $mysqldump_command --defaults-file=/etc/mysql/debian.cnf "$database" | $compress_command  > "${database}"_"${current_date}"${ext}
}
        echo "Backing up database: ${database}…"
delete_old_backups() {
    done
    find_command=$(command -v find)
    cd "${backup_folder}" || exit
    echo "$(date +%c): Backup complete!"
    $find_command ./ -mtime +"${delete_backups_older_than_days}" -type f -exec rm -v {}  \;
}
}
delete_old_backups() {
 
    find_command=$(command -v find)
main() {
    cd "${backup_folder}" || exit
    # toujours exclure information_schema performance_schema de la sauvegarde sinon le script générera des erreurs
    $find_command ./ -mtime +"${delete_backups_older_than_days}" -type f -exec rm -v {}  \;
    databases_exclude_list="mysql phpmyadmin information_schema performance_schema"
}
 
    # choix du dossier de destination des sauvegardes à ajuster à vos besoins
main() {
    backup_folder="/etc/iscsi/backup/mysql_backups"
    # toujours exclure information_schema performance_schema de la sauvegarde sinon le script générera des erreurs
    if [ ! -d "$backup_folder" ] ; then
    databases_exclude_list="mysql phpmyadmin information_schema performance_schema"
        mkdir -p "$backup_folder"
    fi
    # choix du dossier de destination des sauvegardes à ajuster à vos besoins
 
    backup_folder="/etc/iscsi/backup/mysql_backups"
    get_databases_to_backup
    if [ ! -d "$backup_folder" ] ; then
    dump_databases
        mkdir -p "$backup_folder"
 
    fi
    # nombre de jours pendant lesquels il faut conserver les sauvegardes, -1 si illimité
    delete_backups_older_than_days=1
    get_databases_to_backup
    if [ $delete_backups_older_than_days != "14" ] ; then
    dump_databases
        delete_old_backups
    fi
    # nombre de jours pendant lesquels il faut conserver les sauvegardes, -1 si illimité
}
    delete_backups_older_than_days=1
 
    if [ $delete_backups_older_than_days != "14" ] ; then
main
        delete_old_backups
<code>
    fi
}
main

Version du 17 décembre 2021 à 10:53

Installation de l'initiateur iSCSI

Pour configurer un serveur Ubuntu en tant qu'initiateur iSCSI, installez le paquet open-iscsi. Dans un terminal tapez :

sudo apt install open-iscsi

Vous pouvez vérifier quelles cibles sont disponibles en utilisant l'utilitaire iscsiadm. Entrez la commande suivante dans un terminal :

sudo iscsiadm -m discovery -t st -p <ip>

Vous devriez maintenant être en mesure de vous connecter à la cible iSCSI, et en fonction de la configuration de votre cible, vous devrez saisir les informations d'identification de l'utilisateur. Connectez-vous au nœud iSCSI :

sudo iscsiadm -m node --login

Assurez-vous que le nouveau disque a été détecté à l'aide de dmesg :

dmesg | grep sd

Ensuite, créez une partition, formatez le système de fichiers et montez le nouveau disque iSCSI. Dans un terminal saisissez :

sudo fdisk /dev/sdb
n
p
enter
w

Maintenant, formatez le système de fichiers montez le dans /srv à titre d'exemple :

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /srv

Enfin, ajoutez une entrée dans /etc/fstab pour monter le disque iSCSI lors du démarrage :

/dev/sdb1       /srv        ext4    defaults,auto,_netdev 0 0


#!/bin/bash
# Script de sauvegarde des bases de données mysql/mariadb
# Les valeurs à paramétrer sont en fin de script dans la fonction main()

get_databases_to_backup() {
    mysql_command=$(command -v mysql)
    databases_list=$($mysql_command --defaults-file=/etc/mysql/debian.cnf -Bse 'show databases')

     for exclude in $databases_exclude_list
     do
        databases_list=${databases_list//$exclude/}
     done
}
dump_databases () {
    ext=".sql.gz"
    mysqldump_command=$(command -v mysqldump)
    compress_command=$(command -v gzip)
    current_date=$(date +%F_%Hh%M)
    cd "${backup_folder}" || exit
    for database in $databases_list
    do
        $mysqldump_command --defaults-file=/etc/mysql/debian.cnf "$database" | $compress_command  > "${database}"_"${current_date}"${ext}
        echo "Backing up database: ${database}…"
    done

    echo "$(date +%c): Backup complete!"
}
delete_old_backups() {
    find_command=$(command -v find)
    cd "${backup_folder}" || exit
    $find_command ./ -mtime +"${delete_backups_older_than_days}" -type f -exec rm -v {}  \;
}

main() {
    # toujours exclure information_schema performance_schema de la sauvegarde sinon le script générera des erreurs
    databases_exclude_list="mysql phpmyadmin information_schema performance_schema"

    # choix du dossier de destination des sauvegardes à ajuster à vos besoins
    backup_folder="/etc/iscsi/backup/mysql_backups"
    if [ ! -d "$backup_folder" ] ; then
        mkdir -p "$backup_folder"
    fi

    get_databases_to_backup
    dump_databases

    # nombre de jours pendant lesquels il faut conserver les sauvegardes, -1 si illimité
    delete_backups_older_than_days=1
    if [ $delete_backups_older_than_days != "14" ] ; then
        delete_old_backups
    fi
}

main