Quoi copier dans var/mail

Bonjour,

Suite à un sujet ici (Téléchargement emails vers Nextcloud),
Je reviens avec une question.
J’aimerais mettre en place une commande crontab qui fasse un ‘‘cp’’ du bon dossier pour que en cas de crash je puisse remettre le dossier dans une fresh install et retrouver mes emails.

Du genre

cp /var/mail/lieuousontlesemails /media/DDE

puis le jours ou j’ai une fresh install je recolle le tout dans /var/mail/lieuousontlesemails
Et ainsi je peux retrouver mes courriels ?

Merci pour votre aide :slight_smile:

PS : Est-ce qu’avant de les exporter en .eml, le fichier est quelques par dans le système, que je pourrais également backuper avec un cp ?

Mais du coup tu peux élaborer pourquoi ne pas passer par le système de backup de yunohost qui fait exactement ça ? (Tu peux lui dire de backuper juste les mails si besoin)

Edit: ah, je viens de voir que j’avais déjà poser la question …

1 Like

Oui, il le fait mais ce n’est pas un fichier que je peux voir sur une clé USB par exemple et ensuite réimporter.

Par exemple je vais mettre en place une copie journalière des répertoires Nextcloud de mes utilisateurs sur un DDE. Si jamais le serveur tombe, je peux toujours avoir accès à mes données sur mon DDE.

Mais du coup pour les emails j’ai du mal à comprendre ou sont les fichiers.
genre dans /var/mail/user mais comment je sais que mail1 et tel fichier et mail2 l’autre ?

Je sais pas si j’arrive à me faire comprendre ^^

Le système de backup YunoHost est super mais comme je sais pas bidouiller dedans si j’ai besoin je préfère avoir un export de chaque choses importantes au cas ou

Par exemple sur mon navigateur j’ai l’URL du download des contacts et calendriers de mon utilisateurs. Chaque fois que je me connecte je clique dessus pour pouvoir télécharger les fichiers ics et csv correspondant.

Tu ne peux pas vraiment sans ouvrir le fichier. Le nom du fichier est un identifiant immonde (j’imagine que tu es tombé dessus si tu as regardé dans le dossier). Y’a pas grand chose à y faire, c’est comme ça que le mail fonctionne …

1 Like

Oui, mais du coup est-ce que la procédure suivante est correcte en théorie ?

Si sur serveur 1 j’effectue :

cp /var/mail/user /media/DDE/Emailusers

Puis après réinstallation, j’écrase le contenu local du serveur vierge avec la copie du /var/mail/user récuperer la dernière fois je retrouverais mes emails normalement ?

Oui, sur le papier ça marche … éventuellement re-forcer les permissions avec chown comme ici … https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/hooks/restore/23-data_mail#L4

1 Like

Bonsoir,

C’est peut être un peu hors-sujet mais je fais régulièrement un coup de rsync entre mon VPS et une VirtualBox à la maison (penser à ouvrir ou NATer le port 873 par défaut pour rsync et celui du ssh qui est par défaut le 22).

rsync -av /var/mail/ -e “ssh -p 22” root@ip.ou.nom.de.domaine:/var/mail

C’est sans doute possible de faire ça depuis ton serveur vers un Disque Dur Externe.

Peut-être voir s’il est possible aussi avec une tâche de créer un fichier compressé du dossier mail et le copier vers ton DDE.

Sinon, pourquoi ne pas utiliser une tâche pour créer une sauvegarde native de YunoHost avec uniquement la configuration, les utilisateurs et les mails, et de copier l’archive vers ton DDE ?

ppr

1 Like

Cela pourrait marcher, mais cela me semble plus technique que de copier/coller les bons fichiers au bon endroit :slight_smile:

Merci @Aleks je vais récuperer les droits avec un ls -l et tenter l’expérience après une backup YunoHost.

Bonjour Guillermo,

Tout comme ppr je ne comprends pas pourquoi la réponse d’ Aleks d’utiliser le système de backup ne te convient pas vu ce que tu indiques ci-dessous:

Cela te semble plus technique alors que c’est l’inverse.
J’ai essayé dernièrement 2 restaurations en VM pour voir si mes sauvegardes fonctionnent bien, les mails se retrouvent bien en place sur une fresh install. J’ai procédé à une restauration totale à la place de la post-install, cependant ça fonctionnera également après installation par la webadmin si tu préfères.
Et dans l’archive, tu retrouves aussi le dossier des mails dans data/mail si tu veux une copie manuelle.

1 Like

J’ai l’impression que @Guillermo cherche à garder un sentiment de maîtrise sur le truc … et effectivement passer par Yunohost ça suppose utiliser des abstractions et c’est pas forcément clair “qu’est-ce que ça fait” et c’est rassurant d’avoir ses fichiers “en dur” et de les copier soit-même là où on veut. Et oui, dans le cas des mails, il suffit de faire une copie avec les bonnes permissions et voila.

Par contre attention à ne pas tomber dans le piège et à généraliser ça : j’ai vu quelqu’un récemment sur le chat qui pensait aussi qu’il suffisait de backuper /var/lib/mysql pour faire une sauvegarde de mysql. Oui, ça sauvegarde (théoriquement, on va pas parler des problèmes d’écriture dans la base pendant la sauvegarde…). Par contre la restauration via cette technique est pas triviale du tout. Parce que /var/lib/mysql backup toute les données de la base. Utiliser l’arborescence pour restaurer par exemple juste les trucs spécifiques à nextcloud, et que un nouveau nextcloud utilise ces données, c’est pas trivial. Donc cette personne s’est retrouvé à devoir passer des heures pour restaurer le merdier correctement (au final je ne sais même pas si elle l’a réussi ou a essayé). Tandis qu’un backup yunohost te restaurera les choses de manière cohérente (bon, modulo les bugs, mais je dis ça parce que quand on est dev on ne voit plus que les 1000 raisons que ça ne marche pas lol). Bref.

D’un point de vue support utilisateur, j’avoue que c’est pas non plus ouf de devoir expliquer aux gens comment faire à la main ce que le soft qu’on code est précisément prévu pour faire sans qu’on ai à se poser de question …

2 Likes

En faite, la dernière fois que j’ai réinstallé mon serveur, ma sauvegarde complète et ma sauvegarde sans data non pas réussi la restauration de la machine.
Je n’ai pas compris où était l’erreur en lisant les logs. Mais comme j’ai un fichier qui me permet de remettre en place rapidement je ne suis pas venu poser des questions.
Mon tableur complète les commandes suivantes avec les bons domaines, alias etc. donc à la dernière minute je rajoute les données sensibles ensuite copier/coller puis nettoyage de l’historique des commandes.

yunohost domain add DOMAINE.TLD --admin-password PASSWORD && yunohost domain cert-install DOMAINE.TLD && yunohost user create USERS && yunohost user update USERS --add-mailalias alias@domaine.tld --admin-password PASSWORD

Mais du coup je viens de tester la méthode graphique pour la sauvegarde des emails, et sa restauration effectivement sa marche super donc je vais utiliser cela :slight_smile: et je n’avais jamais dézippé l’archive, mais je viens de voir que dedans j’avais les mêmes répertoires donc je pourrais quand même faire un copier/coller si quelque chose ne marche pas :slight_smile:

Désolé du coup de ne pas avoir compris son fonctionnement plus tôt.

Par contre je viens de voir qu’en faisant la ligne de commande donnée dans l’autre sujet :

yunohost backup create --system data_mail --ignore-apps

j’ai un retour d’erreur qui me dit que l’option --ignore-apps n’est pas un argument reconnu. J’ai voulu aller voir sur le journal de la webadmin mais l’historique ne remonte pas assez loin pour que je voie quelles commandes jouent la sauvegarde graphique des emails.

Es-tu sûr que cette option existe? Si oui elle doit être obsolète, je ne la trouve pas dans le man.
Pour info, je ne sais pas comment tu cherches tes commandes mais yunohost a un manuel, tu peux le trouver avec la classique commande linux:

man yunohost

et pour chaque option tu cherches dans le help avec l’option -h, exemple:

yunohost backup -h
yunohost backup create -h 

Concernant les sauvegardes système, tu trouves les noms à indiquer dans /usr/share/yunohost/hooks/backup, il suffit de ne pas mettre le N° comme 23-data_mail à remplacer par data_mail dans la ligne de commande.
Tu peux aussi définir directement la sortie avec l’option -o à ce que je vois si tu souhaites directement sauvegarder dans /media/DDE (jamais testé).

1 Like

j’ai eu le cas avec les certificats qui bloquaient la postinstall. La commande journal -xe te donne généralement la source du problème. Et effectivement c’est en accédant directement aux données comme tu cherches à faire que j’ai résolu la restauration. J’ai décompressé l’archive, récupérer le certificat et copié au bon endroit, puis j’ai relancé la restauration et tout c’est bien passé.

1 Like

Oui je vais tenter d’aller voir le manuel alors pour retrouver les bonnes options.

Je reste simple après je fais un cp du dossier backup sur mon DDE c’est moins complexe que de gérer directement la sortie ou un lien symbolique pour moi en ce moment en tout cas :slight_smile:

Pour ta commande, ceci est suffisant, il semblerait qu’il n’y ait plus besoin de préciser explicitement que tu ne souhaites pas les applications, c’est simplement quand tu les veux qu’il faut ajouter l’option --apps.

1 Like

Merci beaucoup, oui sa marche et j’ai réussi à retrouver la liste des options avec tes commande précédente :slight_smile:

Pour les calendriers et les contacts NextCloud il y a un script qui fait ça très bien. Tu peux le mettre en automatique dans cron. Je ne sais plus dans quel thread du forum j’avais eu l’info. Export automatique de calendriers et contacts https://github.com/BernieO/calcardbackup

La sauvegarde et la restauration de NextCloud via Yunohost fonctionne très bien aussi, mais un export est utile si tu as un problème matériel par exemple et que tu ne peux pas restaurer immédiatement. Ça permet aussi de revenir en arrière si tu as fait une boulette dans une manip de calendrier ou de contact.

1 Like

Je l’avais vu une fois ce tutoriel, cela me semble un peu complexe pour un débutant si au final cela ne marche pas et que je dois faire marche arrière.
Il est dans mon Wallabag pour le jours ou je serais plus expérimenté :slight_smile:
Merci en tout cas