« Disque Réseau » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 27 : | Ligne 27 : | ||
get_databases_to_backup() { | #!/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 | ||
dump_databases () { | 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}…" | ||
delete_old_backups() { | done | ||
echo "$(date +%c): Backup complete!" | |||
} | |||
} | delete_old_backups() { | ||
find_command=$(command -v find) | |||
main() { | 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 | |||
main | delete_old_backups | ||
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