Le processus de mise à jour dépend beaucoup de la personnalisation qui a été faite sur votre Esia au niveau plugins.
Plus vous avez de plugins ajoutés et plus ces plugins risques de passer en erreur après la mise à jour. Il est donc d'autant plus important de respecter le processus de backup en plus du snapshot afin d'éviter d'être obligé d'effectuer un rollback.
La suite du tuto parle de :
Il est vivement conseillé voir nécessaire d'avoir lut au moins 1 fois ce tuto en entier avant de démarrer la mise à jour en production.
Avant de commencer la mise à jour, l’entièreté des points suivants doivent être remplis, il faut s'assurer :
Les 3 étapes suivantes sont a effectuer dans l'ordre souhaité.
Ceci permettra d'éviter le retour au snapshot en cas de simple erreur de plugin ou autre. Ces erreurs de plugins sont d'ailleurs parfois inévitables et rends donc cette tâche nécessaire.
Vérifiez si vouz avez suffisament d'espace disque pour le backup via la commande :
df -h /root
L'espace disque nécessaire pour le backup dépends de votre Esia. Mais si vous utilisez moins de 50% de votre espace disque. Vous êtes certain d en avoir suffisamment.
#!/bin/bash cd / mkdir -p /root/BACKUP_ESIA su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html cp -r /etc/apache2 /root/BACKUP_ESIA/apache2 cp -r /etc/esia /root/BACKUP_ESIA/esia_conf iptables-save > /root/BACKUP_ESIA/iptables.txt dpkg -l > /root/BACKUP_ESIA/version.txt
On peut vérifier si le backup c'est bien réalisé en saisissant la commande suivante :
du -sh /root/BACKUP_ESIA/*
Sur un petit esia
root@debian:~# cd / root@debian:/# mkdir -p /root/BACKUP_ESIA root@debian:/# su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql root@debian:/# cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins root@debian:/# cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html root@debian:/# cp -r /etc/apache2 /root/BACKUP_ESIA/apache2 root@debian:/# cp -r /etc/esia /root/BACKUP_ESIA/esia_conf root@debian:/# iptables-save > /root/BACKUP_ESIA/iptables.txt root@debian:/# dpkg -l > /root/BACKUP_ESIA/version.txt root@debian:/# du -sh /root/BACKUP_ESIA/* 652K /root/BACKUP_ESIA/apache2 32K /root/BACKUP_ESIA/esia_conf 4,0K /root/BACKUP_ESIA/iptables.txt 660K /root/BACKUP_ESIA/pg_database.sql 7.9M /root/BACKUP_ESIA/plugins 23M /root/BACKUP_ESIA/public_html 96K /root/BACKUP_ESIA/version.txt root@debian-jessie:/#
En cas d'erreur, on a des fichiers/répertoires absents ou vides
root@debian:/# cd / root@debian:/# mkdir -p /root/BACKUP_ESIA root@debian:/# su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql pg_dumpall: could not connect to database "template1": could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? root@debian:/# cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins root@debian:/# cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html root@debian:/# cp -r /etc/apache2 /root/BACKUP_ESIA/apache2 root@debian:/# cp -r /etc/esia /root/BACKUP_ESIA/esia_conf root@debian:/# iptables-save > /root/BACKUP_ESIA/iptables.txt root@debian:/# dpkg -l > /root/BACKUP_ESIA/version.txt root@debian-jessie:/# du -sh /root/BACKUP_ESIA/* 652K /root/BACKUP_ESIA/apache2 32K /root/BACKUP_ESIA/esia_conf 4,0K /root/BACKUP_ESIA/iptables.txt 0 /root/BACKUP_ESIA/pg_database.sql 7.9M /root/BACKUP_ESIA/plugins 23M /root/BACKUP_ESIA/public_html 96K /root/BACKUP_ESIA/version.txt root@debian-jessie:/#
Afin de pouvoir revenir rapidement en cas de crash complet.
Pour éviter de recevoir des faux-positifs pendant la mise à jour
chmod -x /usr/local/esia/plugins/alerting/*
Vérifiez que le dépot Esia est bien présent dans votre fichier source.
cat /etc/apt/sources.list
Vous devriez avoir cette ligne dans votre fichier
deb http://stable.repository.esia-sa.com/esia bullseye contrib non-free
Mettez à jour la liste de vos paquets avec la commande suivante
apt update
root@debian-jessie:/# apt-get update Get:1 http://10.8.0.9 stretch InRelease [2,271 B] Get:2 http://10.8.0.9 stretch/contrib amd64 Packages [7,200 B] Get:3 http://10.8.0.9 stretch/non-free amd64 Packages [1,963 B] Ign http://10.8.0.9 stretch/contrib Translation-en_US Ign http://10.8.0.9 stretch/contrib Translation-en Ign http://10.8.0.9 stretch/non-free Translation-en_US Ign http://10.8.0.9 stretch/non-free Translation-en Ign http://ftp.be.debian.org stretch InRelease Get:4 http://ftp.be.debian.org stretch Release.gpg [2,410 B] Get:5 http://ftp.be.debian.org stretch Release [118 kB] Get:6 http://ftp.be.debian.org stretch/main amd64 Packages [7,080 kB] Get:7 http://ftp.be.debian.org stretch/main Translation-en [5,377 kB] Fetched 12.6 MB in 2s (4,354 kB/s) Reading package lists... Done root@debian-jessie:/#
Notez quelle heure il est.
Mettez à jour la liste de vos paquets avec la commande suivante
apt-get update
Pour télécharger la mise à jours ESIA + OS
apt-get dist-upgrade
Avant de confirmer, vérifier si vous aurez suffisamment d'espace disque :
Dans l'exemple ci-dessous, il faudra 92 MB + 101 MB pendant l'installation.
125 upgraded, 1 newly installed, 4 to remove and 0 not upgraded. Need to get 92 MB of archives. After this operation, 101 MB of additional disk space will be used. Do you want to continue? [Y/n]
La programme apt va maintenant mettre à jour votre Esia et votre système d'exploitation.
Une fois la mise à jour réalisée, n'oubliez pas de faire un rechargement du cache de votre navigateur
Une fois que votre Esia fonctionne correctement, n'oubliez pas de réactiver l'alerting :
chmod +x /usr/local/esia/plugins/alerting/*
ls --color -l /usr/local/esia/plugins/alerting/*
On peut voir dans les exemples ci-dessous la couleur verte qui indique que le sripts sont éxécutables. Ils sont donc activés.
Alerting désactivé
Alerting activé
Il faut maintenant tester que vous recevez bien les mails d'alertes
/usr/local/esia/plugins/alerting/send_mail_html.pl -e min -t <votre adresse mail> -D
Regardez si un mail est bien arrivé dans votre boite.