Raspberry PI 4

Merci à mon ami Americain, SpaceRex, pour sa précieuse aide et ses précieux conseils. Vous trouverez sa page youtube sur le lien ci-dessous:

https://www.youtube.com/channel/UC_n6DdR6FClpCbWnNM7Zp6A

Le but de cette page est de permettre, après l’achat d’un Raspberry Pi 4, de le configurer pour acceuillir un serveur Samba & un serveur/client NFS. Nous verrons aussi comment paramétrer des sauvegardes sur le Pi depuis un nas (Synology pour ma part). Enfin, nous automatiserons tout cela et nous recevrons automatiquement un mail après chaque sauvegarde réussie!

remontez vos manches, c’est parti!

La 1ère chose à faire après l’achat d’un Raspberry Pi 4 (Rpi4) est d’installer un système d’exploitation sur la sdcard qui lui servira de « disque dur ».

Pour ce faire il existe de nombreux outils. J’utilise Balena Etcher qui est aussi simple qu’efficace. Une fois téléchargé, il vous faut aussi un système d’exploitation étudié pour votre Rpi4. Là encore il en existe pléthore. Nous nous intéresserons ici à Raspbian. Choisissez la version de votre choix, pour ma part je prends la plus complète car le Rpi4 en a suffisamment dans les circuits.
Lors du 1er démarrage, il vous faudra un écran (hdmi), un clavier filaire ainsi qu’une souris filaire. Tout ceci ayant pour seul but d’activer le protocole ssh. Une fois activé, on peux paramétrer entièrement son Pi à partir de n’importe que PC sur son réseau (windaube, Mac ou, pour ma part, Linux)…

1ER DÉMARRAGE

Au 1er démarrage vous devrez définir la langue de votre os, changer le mot de passe, paramétrer le wifi (si vous le pouvez connectez le plutôt en RJ45 directement sur votre box. Puis il se mettra à jour, ce qui peux prendre un peux de temps.

Après le redémarrage, nous pourrons activer ssh et, pourquoi pas vnc.
Ouvrez un terminal et tapez la commande suivante:

sudo raspi-config

Il convient de se rendre sur la ligne « Interfacing options »

Cliquez sur « SSH enable/disable ….. »
Cliquez sur <Oui> puis <OK>

Voilà, le serveur ssh est activé.

Revenu sur le page d’accueil des config, vous pourrez également changer de mdp, activer vnc etc….

INITIALISATION DES DISQUES DURS

Évidemment vous devrez brancher un ou plusieurs disques durs externe sur l’un des 4 ports usb du Rpi4 (2 usb2 et 2 usb 3). Précision importante: il existe deux type de HDD externes: les SSD et les disques traditionnels. Le Rpi4 ne dispose pas d’assez de puissance pour alimenter correctement un HDD externe traditionnel. Peut être pour un SSD, bien que je n’ai jamais testé. Je vous conseil donc soit de brancher un hdd disposant de sa propre source d’alimentation (une prise le reliant au secteur) soit de faire l’acquisition, comme moi d’un hub usb alimenté.

Ceci fait, connectez vous en ssh à votre pi depuis votre PC principal, ou bien, si vous êtes sur votre Pi ouvrez un terminal et tapez la commande:

sudo fdisk -l

cette commande vous donnera la liste de l’ensemble des disques connectés au pi, y compris les partitions système sur la sdcard
On voit sur cette capture outre les partitions système, que sont branchés deux hdd. L’un de 1to (935,5GiB) sda (avec une partition sda1) et l’autre de 5to (4,6TiB) sdb (avec une partiton sdb1).

Nous allons initialiser puis monter les disques durs. Pour se faire nous allons commencer par taper la commande:

sudo fdisk /dev/sda

Cette commande nous permet d’entrer dans l’utilitaire fdisk mais spécifiquement sur le disque /dev/sda
Le prompte attends que nous lui indiquions une commande. Bien sûr, comme il est noté, on peut taper la lettre « m » pour avoir accès à l’aide.
On voit ici l’aide avec l’ensemble des possibilités

Si nous avions eu plusieurs partitions sur le disque, nous aurions pu utiliser la commande « d » pour effacer les partitions & en créer de nouvelle(s).
Dans notre cas nous allons formater le hdd en ext4 (système linux) avec la commande:

sudo mkfs -t ext4 /dev/sda1

Cette commande permet de créer une partition ext4.

Cette opération terminée, vous pourrez la renouveler pour chaque autre disque dur connecté à votre Rpi4 (sdb1, sdc1 etc….)

MONTER LES DISQUES AUTOMATIQUEMENT À CHAQUE DÉMARRAGE DU RPI4

Cette opération est essentielle, car, même si on ne redémarre que très rarement sont Rpi, il est essentiel que l’ensemble des partitions se montent automatiquement à chaque démarrage. Pour se faire nous allons les inscrire dans le fichier fstab.

Avant tout, il va falloir déterminer un point de montage. Un point de montage est un répertoire qui servira « d’accueil » aux partitions de nos hdd externe. C’est ainsi que fonctionne Linux. Souvent ces derniers sont montés dans le répertoire /media. Pour ma part je vais créer 2 répertoires (car j’ai deux hdd externes) et je les souhaites au niveau de mon répertoire racine(« / ») car cela facilitera beaucoup de choses par la suite.

Je nommerai le premier point de montage: 1to et le second: 5to. Pour se faire je vais créer les deux répertoires a la racine de mon système avec les commande suivantes:

sudo mkdir /1to

sudo mkdir /5to

Ces commandes créent nos deux répertoires (points de montage) dans le répertoire racine du système.
Cette capture nous montre la création des points de montage (sudo mkdir ….) puis je me place dans le répertoire racine du système (« cd / ») et enfin je liste les répertoires présents à la racine du sytème (« ls »). On peut y voir mes deux points de montage sur la droite (1to & 5 to)

Nous allons tester le montage de notre 1er hdd avec la commande:

sudo mount /dev/sda1 /1to

Cette commande s’interprète aisément: sudo pour être utilisateur root, puis « mount » pour « monter », puis le nom du périphérique concerné (/dev/sda1) et enfin son point de montage (/1to)

Évidemment on pourrait en faire de même avec le second hdd avec la commande:

sudo mount /dev/sdb1 /5to

On pourra vérifier l’ensemble des partitions montées sur le système avec la commande:

df -h

On retrouve bien nos deux partitions sur les deux dernières lignes ainsi que l’espace libre sur chaque partition.

Voyons maintenant juste pour la forme, si nous pouvons écrire sur nos partitions. Nous nous plaçons donc dans l’une d’entre elles (« cd /5to » par exemple) et nous utiliserons la commande « touch » qui permet de créer un fichier:

J’essaye de créer un fichier nommé « test » avec la commande « touch ». On constate que nous ne sommes pas autorisés à écrire sur notre hdd.

Pour remédier à cela on se place dans le répertoire concerné (« cd /5to ») et on tape la commande suivante!

sudo chmod 777 -R .

sudo pour être super utilisateur. chmod permet de gérer les droits. 777 donne tous les droits à tous les utilisateurs. Le -R indique la récursivité à tous les sous répertoires. Et le point final indique que cette commande s’applique au répertoire courant, celui dans lequel nous nous trouvons.
Et voilà!
Après changement des droits, la commande « touch test » ne retourne pas d’erreur. On constate même la présence du fichier test lorsqu’on fait un « ls ».

Il est temps d’inscrire nos points de montage dans fstab:

On va éditer le fichier « fstab » qui se situe dans le répertoire « /etc » à l’aide de l’éditeur « nano ». Tout cela en temps que super utilisateur « sudo »
Fichier fstab avant modifications. Nous allons lui ajouter nos deux points de montage tel que sur la capture suivante:
Explications: nous montons le disque /dev/sda1 sur le point de montage /1to il est en ext4 il a les permissions par défaut. Idem pour pour le sdb1. Ensuite nous cliquons sur « ctrl o » pour écrire le fichier, « enter » pour valider le nom puis « ctrl x » pour quitter.

On redémarre le pi avec la commande « sudo reboot » puis on se reconnecte en ssh pour vérifier que nos deux hdd sont bien montés (si j’ose dire)….;-)

Une fois reconnecté en ssh (ssh pi@ip_de_votre_Rpi4) il suffit de se placer dans chacun des points de montage et de faire une commande ls pour vérifier le contenu qui s’y trouve (vous devriez y retrouver le fichier « test » créé plus haut….

…Et voilà!

INSTALLATION DU SERVEUR SAMBA

Samba est une très grande application Linux, compatible avec tous les OS. Elle nous permettra de pouvoir voir et agir sur l’ensemble des répertoires de notre Rpi que nous aurons décidé de partager sur le réseau local.

Connecté à son Rpi4, on tape les commandes:

sudo apt-get update

sudo apt-get install samba

La 1ere commande nous permet de mettre à jour les dépôts, la seconde nous permet d’installer samba sur le Rpi4.

Une fois installé, il convient de paramétrer le(s) partage(s). Entrez la commande suivante:

sudo nano /etc/samba/smb.conf

Cette commande permet d’ouvrir et de modifier le fichier de configuration de samba.

Une fois ouvert, rendez vous tout en bas du fichier smb.conf et ajoutez les lignes suivantes:

[1to] <—– nom du partage
path=/1to <—– chemin du partage
writeable=yes <—– autorisation d’écriture
public=yes <—– connexion invité (sans mdp)
[5to]
path=/5to
writeable=yes
public=yes

Attention! Si vous souhaitez devoir demander un mot de passe lors de l’ouverture du répertoire partagé, il est INDISPENSABLE D’ÉCRIRE « NO » À LA LIGNE: PUBLIC. Dans ce cas il faudra créer un ou plusieurs utilisateurs sur le Rpi qui auront droit d’utiliser les partages.

Vous penserez à faire le nécessaire pour enregistrer les modifications dans nano: « ctrl o » « enter » « ctrl x ». Enfin, il faut redémarrer le serveur samba avec la commande:

sudo systemctl restart smbd

À partir de là, vous avez accès en lecture et écriture, à partir de n’importe quel pc de votre réseau, aux partages sur le Rpi.

Si vous souhaitez intégrer un peu de sécurité pour l’accès à vos partages, commencez par noter « public=no » dans votre fichier de configuration de samba (voir étape précédente.

Il faudra alors attribuer un mdp à votre utilisateur du Rpi. Je vous rappel que l’utilisateur « normal » sur un Rpi est « pi ». Nous allons donc créer un mdp pour « pi » sur samba:

sudo smbpasswd -a pi

Vous devrez spécifier le mdp, puis le répéter
Et voilà!!

AUTRE POSSIBILITÉ: LE PI COMME SERVEUR NFS

Je trouve beaucoup plus simple et plus pratique de paramétrer le Rpi 4 comme serveur NFS et de monter au démarrage de son pc les répertoires que l’on souhaite partager. L’avantage est en sécurité, car seuls les pc indiqué dans le fichier /etc/exports de Rpi pourront monter les répertoires partagés. Lançons nous!

On commence par se connecter en ssh au Rpi: ssh pi@adresse_ip_du_Rpi

On installe le paquet nfs-common avec la commande:

sudo apt install nfs-common

sans oublier le paquet nfs-kernel-server

sudo apt install nfs-kernel-server

Puis on édite le fichier /etc/exports du pi à l’aide de nano:

sudo nano /etc/exports

J’ai ajouté les deux dernières lignes qui correspondent aux deux répertoires que je souhaite pouvoir monter sur mon pc.

Quelques explications:

On commence par indiquer le répertoire du pi que l’on souhaite partager, dans mon cas: /1to. Ensuite on laisse un espace et on indique l’adresse IP de PC qui pourra monter le partage nfs. ATTENTION cela signifie qu’il vous faudra attribuer une Ip fixe à votre PC, de même d’ailleurs qu’ai Rpi 4. Enfin on indique entre parenthèses et sans laisser d’espace avec l’IP différents paramètres qu’on attribue au partage. Dans notre cas le « rw » signifie que l’on pourra lire et écrire dans le répertoire.

On réitère autant de lignes que de partages. Dans mon cas deux!

Pour finir on démarre ou redémarre le serveur nfs:

sudo service nfs-kernel-server start

Je conseil quand même un petit sudo reboot pour redémarrer le Rpi

Passons au paramétrage du pc client.

Il faut commencer par créer le(s) répertoire(s) qui accueillera le point de montage. Pour ma part: (dans un terminal sur mon pc – oui, je suis sous linux)

sudo mkdir /media/pi_1to

sudo mkdir /media/pi_5to

Je monte tout mes partages nfs dans le répertoire /media, y compris ceux de mon nas synology.

Ceci fait, c’est très rapide, on édite le fichier fstab du pc client (mon pc), avec la commande:

sudo gedit /etc/fstab

Sur mon pc j’utilise gedit et pas nano car il est plus clair à lire.

Il ne reste qu’a ajouter une ligne par montage selon le modèle suivant:

ip_du_Rpi:/repertoire_du_Rpi_qu’on_partage /point_de_montage_sur_pc_hote nfs defaults,user,auto,noatime,intr,rw 0 0 0

Ce qui donne dans mon cas:

192.168.1.xxx:/5to /media/pi_5to nfs defaults,user,auto,noatime,intr,rw 0 0 0

J’ai mis des xxx simplement pour caher mon IP. Évidemment vous mettrez la bonne IP.

Il ne vous reste qu’à enregistrer le fichier, puis redémarrer votre pc. Dans votre navigateur de fichiers vous verrez apparaître vos partages.

…Et voilà

La prochaine étape consistera à automatiser ces tâches avec un script bash et une tâche crontab….

RÉDIGER UN SCRIPT POUR LA SAUVEGARDE DE SES DONNÉES.

Nous allons nous attaquer à la rédaction d’un petit script pour sauvegarder mes données sensibles.
Voilà la situation: je possède un NAS sur lequel je stock mes données dans divers répertoires. Les plus importants à mes yeux sont: photos, sauvegarde et musique. Comme nous l’avons vu précédemment nous savons monter des répertoires partager d’un pc ou d’un nas sur un autre pc ou nas. Il est donc aisé de programmer un script qui utilisera le protocole Rsync pour faire ceci. Rsync est installé par défaut dans toutes les distributions Linux. L’utiliser dans un script bash permet ne pas avoir à taper la commande Rsync chaque fois qu’on souhaite lancer le script. Nous verrons dans le chapitre suivant comment automatiser avec crontab.

Rsync fonctionne de la manière suivante:

rsync /répertoire_à_sauvegarder /repertoire_de_destination

Dans mon cas, je souhaite sauvegarder le répertoire photos de mon nas sur le hdd externe 1to de mon Rpi4. Le hdd externe 1to est monté sur /1to. La commande Rsync serait donc la suivante:

rsync -av /media/syno_photos /1to

Cette commande va sauvegarder le répertoire /media/syno_photos vers le répertoire /1to. Le « v » après le « -a » indique le mode « verbeux » ce qui signifie que vous verrez tout ce que fait rsync dans un terminal. Dans notre cas il ne sera pas nécessaire. nous pourrons donc nous contenter de: rsync -a /media/syno_photos /1to

Voilà, c’est aussi simple que cela. Supposons maintenant que j’ai voulu sauvegarder un répertoire directement depuis mon nas via le protocole ssh. La commande aurait été la suivante:

rsync -a user@ip_de_mon_nas:/repertoire/de/nas/à/sauvegarder /répertoire/du-pi/qui accueil/la-sauvegarde

L’inconvénient c’est qu’il faut être présent physiquement pour entre le mdp du nas. Cette opération peut être automatiser par un échange de clés ssh entre le pi et le nas, mais malgré mon insistance cela n’a jamais fonctionné chez moi. Vous trouverez un excellent tuto sur la chaîne de mon ami américain SpaceRex ici.

Pour pimenter la chose nous allons demander à notre script de noter dans un fichier texte le jour et l’heure de démarrage de la sauvegarde ainsi que la fin (heureuse) de la sauvegarde. Nous utilserons la commande « echo »:

echo « [debut sauvegarde_syno] $(date) » >> /home/pi/Documents/log.txt
rsync -av /media/syno_sauvegarde /5to && echo « [terminé sauvegarde_syno] $(date) » >> /home/pi/Documents/log.txt

Ça parait compliqué mais c’est en fait très simple: « echo » signifie « écrit ce que je te demande dans le « [….] ». « $(date) » indique qu’il y ajoutera la date (ce qui inclu l’heure d’ailleurs). le « >> » lui indique où il doit l’écrire, en l’occurence dans le fichier texte « log.txt » qui est situé dans « /home/pi/Documents ». Ensuite vous avez la commande Rsync et enfin le « && » indique que si tout s’est bien passé alors il passe à la commande suivante, en l’occurrence nous l’écrire dans le même fichier « log.txt ».

voil

En ce qui concerne la rédaction elle même du script elle fonctionne ainsi:

#!/bin/bash
echo « [debut sauvegarde_syno] $(date) » >> /home/pi/Documents/log.txt
rsync -av –delete-after /media/syno_sauvegarde /5to && echo « [terminé sauvegarde_syno] $(date) » >> /home/pi/Documents/log.txt
echo « [debut photos_syno] $(date) » >> /home/pi/Documents/log.txt
rsync -av /media/syno_photos /1to && echo « [terminé photos_syno] $(date) » >> /home/pi/Documents/log.txt
echo « [debut zic_syno] $(date) » >> /home/pi/Documents/log.txt
rsync -av –delete-after /media/syno_zic /5to &&
echo « [terminé zic] $(date) » >> /home/pi/Documents/log.txt

Un script bash démarre toujours parcequ’on appel le « shebang » (c’est l’expression qu’on retrouve sur la 1ère ligne: #!/bin/bash. Ensuite j’ai mit une ligne par sauvegarde que je souhaite effectuer avec une sortie texte spécifique pour chaque action dans le fichier « log.txt ». L’option « –delete-after » pemet de supprimer dans la sauvegarde, les fichiers qui auraient été supprimés de la source entre deux sauvegardes.

J’ai enregistré le script comme cela est l’usage avec une extension en .sh et je l’ai rendu executable avec la commande:

sudo chmod +x nom_du_script

Je vous conseil de donner un nom assez explicite a votre script, du type: synosauvegarde.sh

Il ne reste plus qu’à lancer le script avec la commande:

/home/pi/Documents/synosauvegarde.sh

Ou bien, si vous êtes déja dans le répertoire « Documents »:

bash synosauvegarde.sh

AUTOMATISER SES SAUVEGARDES AVEC CRONTAB

Crontab est l’utilitaire pour lançer tout type de tâches sous linux. On le lance en ouvrant un terminal et en tapant la commande:

crontab -e

Comme toujours, n’hésitez pas à lancer la commande « crontab -help » pour connaître l’ensemble des options existantes.

Au premier lancement, il vous demandera de choisir avec quel éditeur vous souhaitez l’utiliser (nano, vi ou vim). Moi, ce sera nano.

Pour bien comprendre ce qu’il y aura à remplir, il faut savoir qu’il y aura 6 informations à donner

  • les minutes
  • les heures
  • le(s) jour(s) du mois (du 1er au 31)
  • les mois (de janvier à décembre)
  • le(s) jour(s) de la semaine
  • la commande que vous souhaitez voir se lancer.

Reprenons par l’exemple:

imaginons que je souhaite lancer le script backup.sh à date régulière. Imaginons ensuite que je souhaite que cela sois tout les dimanches à 23:15.

J’aurais donc à remplir de la manière suivante:

15 23 * * 0(ou 7) commande_à_exécuter

Explication:

le 15 correspond aux minutes (23:15).

le 23 correspond à l’heure: 23h

l’étoile suivante signifie qu’on ne défini pas un jour du mois en particulier. Si on avait souhaiter une commande qui se lance tous les 5 du mois à 23h15 on aurait mit: 15 23 05 * *. Mais ça n’est pas le cas qui nous intéresse.

l’étoile suivante signifie que notre commande ne s’effectuera pas un mois particulier. Si l’on voulait une commande qui s’effectue uniquement au mois de mai, le 21, à 23h15 on aurai mit: 15 23 21 05 *.

enfin, le dernier zéro (ou 7) indique le jour de la semaine, donc le dimanche, en effet dans crontab, les jours sont déclinés comme suit:

  • 0=dimanche
  • 1=lundi
  • 2=mardi
  • 3=mercredi
  • 4=jeudi
  • 5=vendredi
  • 6=samedi
  • 7=dimanche (oui, on n’a deux dimanches, contrairement à la vraie vie!)

Il existe quelques « trucs »dans crontab. Si l’on souhaite la répétition d’une commande toutes les « x » minutes il faudrait théoriquement utiliser la virgule. Exemple: Pour lancer une commande toutes les 20mn il faudrait40 donc noter:

00, 20, 40 * * * * commande_à_exécuter

heureusement l’on peut le faire avec l’astuce suivante:

*/20 * * * * commande_à_exécuter qui indique qu’on lancera la commande toutes les 20mn.

Autre astuce: si l’on souhaite lancer une commande tous les jours de la semaine à 14h10 sauf le week-end, on pourra utiliser l’astuce suivante:

10 14 * * 1-5 commande_à_exécuter

On peut aussi mixer autrement: si l’on souhaite, par exemple qu’une commande s’exécute tous les 5mn mais uniquement pendant la 1ere 1/2 heure de chaque heure alors on aura la commande suivante:

0-25/5 * * * * commande_à_exécuter

RECEVOIR UN MAIL APRÈS CHAQUE BACKUP RÉUSSIS

Confinement oblige, je cherche à améliorer la gestion de mon serveur de sauvegarde. Aujourd’hui, je me suis donc demandé comment recevoir un mail après chaque sauvegarde effectuée par mon script, en plus du fichier log.txt. Je ne comprenais pas comment un mail pouvait partir d’une application graphique comme Thunderbird à partir d’un simple script bash… Et pour cause, puisque ce n’est pas une application graphique qui est impliquée, mais bien une application mail en ligne de commande dans le terminal! Cette application c’est MUTT.
Commençons par l’installer, c’est très simple: on ouvre un terminal (en ssh si on n’est pas directement sur le Rpi) et on envoi la commande:

sudo apt install mutt

Comme d’habitude, vous tapez votre mdp et vous laissez faire….

Pour fonctionner et surtout pour être paramétré, Mutt nécessite un fichier de configuration (qui n’existe pas après l’installation) que nous allons créer dans notre /home. Je rappel que le répertoire /home est symbolisé dans le terminal par: « ~/ » (sans les guillemets).
Créons donc ce fichier de configuration qui doit s’appeler « muttrc » et qui doit être caché (on mettra donc un point devant le nom, afin qu’il soit caché, il s’appellera donc « .muttrc »).
On se place donc dans son répertoire /home (dans le terminal):

cd /home ou cd ~

avec l’une de ces commandes on se place dans le /home

Puis on crée le fichier de configuration .muttrc:

nano .muttrc

j’utilise nano, car pour utiliser mutt il faudra choisir un éditeur de texte qui fonctionne dans le terminal.

Nano s’ouvre dans le terminal, totalement vide. Il va falloir le remplir… C’est là que la galère a commencé pour moi. J’ai trouvé moult modèles de fichiers de config plus complets les uns que les autres utilisant les paramètres de Gmail. AUCUN n’a fonctionné chez moi! Zéro! Nada! Ayant donc un hébergement chez Hostinger, je me suis créé une adresse mail du type pi@mondomaine.fr pour pouvoir paramétrer Mutt, enfin… essayer de paramétrer….
En tâtonnant, j’y suis arrivé. Je met ci-dessous mon fichier (en modifiant mes éléments persos) afin que cela vous aide si nécessaire….

configuration de base
set realname = « nom qui apparaîtra en entete de mail« 
set header_cache =~/.mutt/cache/headers
set certificate_file =~/.mutt/certificates
set message_cachedir =~/.mutt/cache/bodies
configuration imap
set spoolfile=imaps://imap.hostinger.fr:993/INBOX
set imap_user = « votre adresse mail« 
set imap_pass = « votre mdp de mail« 
set imap_passive= »no »
set imap_check_subscribed= »yes »
set imap_list_subscribed= »yes »
configuration SMTP
set smtp_url = « smtp://votre adresse mail@smtp.hostinger.fr:587/ »
set smtp_pass = « votre mdp de mail« 
set from = « votre adresse mail« 
set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from
En complément
set trash = « imaps://imap.hostinger.fr/[pi]/Trash »
set postponed= »+[Pi]/Draft »
set folder = « imaps://imap.hostinger.fr:993/ »
set imap_check_subscribed
set mail_check = 120
set timeout = 300
set imap_keepalive = 300
set signature=’/signature.txt’
locales FR pour les noms des jours et mois.
Cette variable est prise en compte sous Mint et Ubuntu.
Cette variable n’est pas prise en compte sous Debian et provoque une erreur.
set locale= »fr_FR »
Format de date
set date_format= »%A %d %b %Y à %H:%M:%S (%Z) »
phrase d’intro pour réponse quotée
set attribution= »Le %d, %n a écrit : »
set forward_format= »[Fwd: %s] »
set forward_quote
#
mailboxes !
Editeur
set edit_hdrs
auto_view text/html
set editor= »nano » # Indiquer le choix de votre éditeur de texte.
color attachment magenta default # attachments
color body brightred default « (ftp|http)://[^ ]+ » # point out URLs
color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
color bold brightblue default # boldface text
color error brightwhite red # error messages
color hdrdefault magenta default # default color of message header
color header brightmagenta default ^(From): # From and Subject header
color header brightwhite default ^(Subject): # From and Subject header
color header brightwhite default ^(Date): # Date header
color header white default ^(In-Reply-To):
color indicator brightred default # indicator bar
color markers brightblue default # wrapped line markers (+)
color message brightblack green # status messages
color normal default default # default
color quoted yellow default # quoted text, 1st quote level
color quoted1 green default # quoted text, 2nd quote level
color quoted2 brightblue default # quoted text, 3rd quote level
color quoted3 blue default # quoted text, 4th quoet level
color search black yellow # matched search patterns in pager
color signature red default # the signature (after sigdashes)
color status default blue # status lines
color tilde brightblue default # « ~ used to pad blank lines
color tree green default # thread tree in the index menu
color underline brightgreen default # underlined text
Encodage a utiliser
set charset=utf-8
set send_charset=utf-8
set pager_index_lines=7
set pager_stop

Les paramètres de boite mail sont ceux d’Hostinger

Comme toujours, il faut enregistrer le fichier avec la séquence: « ctrl o » « enter » et « ctrl x ».

Pour lancer Mutt il suffit de taper mutt dans un terminal.

Voilà l’interface de Mutt, mais on s’en fiche car on ne l’utilisera pas….

Voilà, Mutt est installé et il fonctionne. Il faut maintenant ajouter une ligne à notre script, pour recevoir un mail après chaque sauvegarde du serveur…

On reprend donc notre script vu plus haut et on ajoute la ligne suivante:

&&
echo « texte de votre mail ‘date -I' » | mutt -s « texte de l’objet du mail » ‘adresse mail du destinataire’

Le && est très important car il indique « si tout s’est bien passé, envois la commande suivante ». ‘date -I’ inscrira la date après votre texte.

Pour exemple voici l’un des mails que j’ai reçu pendant mes tests:

C’est simple, clair, net et précis.

Info de dernière minute….

En cherchant plus d’info sur Mutt j’ai fais la connaissance de « Neomutt », lequel comme son nom l’indique est un « nouveau » Mutt… Et comme un e bonne nouvelle n’arrive jamais seule, il existe un script qui automatise l’installation et le paramétrage de manière incroyable!
Ce script est l’œuvre de Luke Smith et pour faciliter la tâche vous trouverez sa vidéo d’explications sur ce lien.
Il vous faudra télécharger son script sur github (Luke explique tout sur sa vidéo) ainsi que quelques dépendences…. Je l’ai testé, ça fonctionne très bien. Lien github.