Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/08/2014, à 08:39

hitman40

Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Bonjour,

J'aimerai savoir si il est possible de sauvegarder plusieurs /home sur un serveur distant.

Je m'explique, je possède 200 PC dans mon réseau. Certains ordinateurs possède plusieurs utilisateurs dans le /home.

Je voudrai copier un script sur le Bureau de mes utilisateurs, afin qu'il sauvegarde leur /home quand ils le souhaitent.

Je pensais à un script avec rsync mais je ne sais pas trop comment l'écrire car il faut que les sauvegardes se fassent sous leur login (prénom.nom).

Quelqu'un a t'il une idée??

Merci par avance.

Dernière modification par hitman40 (Le 08/09/2014, à 11:00)

Hors ligne

#2 Le 27/08/2014, à 08:41

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Bine sur il te suffi de créer autant de dossiers que de /home a sauvegarder sur le serveur

Dernière modification par PPdM (Le 27/08/2014, à 08:42)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#3 Le 27/08/2014, à 08:49

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Salut PPdm,

Je chercher une méthode plus simple. Je voudrai que mon script soit le même pour tout le monde et dès lors qu'ils cliquent dessus leur /home/prénom.nom soit créé sur mon serveur.

Sinon je devrai créer un script avec leur prénom.nom à chaque fois. Autrement dit plus de 200 script à me taper.

Hors ligne

#4 Le 27/08/2014, à 08:53

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Alors c'est au niveau du serveur qu'il faut le faire tu dois céer un dossier pas user avec les acces qui vont bien.
Mais je suppose que c'est déjà fait et que chaque utilisateur a son propre dossier personnel dont il est le seul a avoir l'accès

Dernière modification par PPdM (Le 27/08/2014, à 08:53)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#5 Le 27/08/2014, à 08:55

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Oui effectivement c'est fait j'ai créé une ACL par dossier.

Mais comment puis-je faire alors pour écrire le script?

Hors ligne

#6 Le 27/08/2014, à 08:59

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Tu veux sauvegarder tout le /home ?
Perso je trouve cela inutile, il ne faut sauvegarder que ce qui est unique c'est a dire les docs crées par l'user le reste prend de la place et ralenti les sauvegardes pour rien.
Perso j’utilise FreefileSync qui est automatisable et tres pratique

Dernière modification par PPdM (Le 27/08/2014, à 08:59)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#7 Le 27/08/2014, à 09:07

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Oui je sais que ça peut paraître inutile mais dans mon cas il se trouve que c'est très utile de sauvegarder tout le /home.

Malheureusement je ne peux pas utiliser de logiciels tiers pour faire les sauvegardes.

C'est pourquoi je voudrai utiliser un script.

Hors ligne

#8 Le 27/08/2014, à 09:08

Brunod

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

C'est faisable en mettant des chemins relatifs qui seront différents pour chacun des 200 pc; genre ip si elle est fixe ou nom du pc.Il n'y aura alors qu'un seul script pour toute les machines.


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#9 Le 27/08/2014, à 09:15

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

hitman40 a écrit :

Oui je sais que ça peut paraître inutile mais dans mon cas il se trouve que c'est très utile de sauvegarder tout le /home.

Malheureusement je ne peux pas utiliser de logiciels tiers pour faire les sauvegardes.

C'est pourquoi je voudrai utiliser un script.

Pour faire un script il faudrait un peu plus d'info, mais les script c'est pas trop ma tasse de thé donc je cede la place, FreefilSinc fait partie des dépôts Ubuntu
Tout tes PC sont en Ubuntu et ton serveur aussi ?


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#10 Le 27/08/2014, à 09:17

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Oui je comprends se que tu veux faire mais si j'ai un pc avec 3 utilisateurs différents ton script va me copier le dossier /home. seulement j'ai 200 machines qui vont me copier le dossier /home.

Hors ligne

#11 Le 27/08/2014, à 09:19

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Mais les users ont accès a tout le serveur ou juste a leur dossier perso?

Exemple de script Bash
et shell

Dernière modification par PPdM (Le 27/08/2014, à 09:20)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#12 Le 27/08/2014, à 09:25

tiramiseb

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Salut,

Pour créer ton script, tu peux utiliser la variable $HOME qui contient le chemin vers le répertoire de l'utilisateur. Tu peux aussi utiliser $USERNAME qui contient le nom de l'utilisateur, qui pourrait être le même que le nom du répertoire sur le serveur. Et du coup tu dis grosso modo de copier $HOME dans $USERNAME.

Mais attention, une simple copie de fichiers est loin d'être fiable et efficace, ce n'est pas une réelle sauvegarde. Il vaut mieux utiliser un logiciel, en ligne de commande ou non, qui soit dédié à ça (qui travaille de manière incrémentale et qui gère l'historique, etc). Je pense notamment à rdiff-backup.

Que tu ne veuilles pas leur donner une interface graphique manipulable et potentiellement complexe pour un utilisateur lambda je comprends, mais je ne comprends pas pourquoi tu écris que tu ne veux pas utiliser un « logiciel tiers » : on ne parle que de logiciels distribués dans la distribution directement. C'est le cas du logiciel pointé par PPdM, c'est également le cas de rdiff-backup.

Hors ligne

#13 Le 27/08/2014, à 09:28

tiramiseb

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Après, selon tes besoins, il y a d'autres solutions très sympa, je pense notamment à Seafile, pour de la synchro "en live" avec conservation des historiques.

Mais tu n'as pas exprimé ton réel besoin, « sauvegarder plusieurs /home sur un serveur distant » c'est déjà une solution à un besoin...
Le besoin, ça peut être par exemple :
- permettre aux utilisateurs d'accéder à leurs fichiers de plusieurs PC
- permettre aux utilisateurs de restaurer d'anciens fichiers qu'ils ont effacé par erreur
- pouvoir reconstruire le compte d'un utilisateur quand un PC a crashé
... je pourrais te sortir encore plein d'autres "besoins" où le terme assez générique de "sauvegarde" serait une réponse...

Hors ligne

#14 Le 27/08/2014, à 11:35

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Je vous donne plus de renseignements. Je ne peux utiliser de logiciels tiers car je me trouve dans un système réseau "avec des patrons" qui refusent leur installation.
Pour la sauvegarde incrementale je vais utiliser rsync parce que je le maîtrise pas trop mal. Le seul truc que je veux, c'est savoir comment écrire mon script de telle manière à ne pas me taper plusieurs scripts.

ex:
#!/bin/sh
TARGET=/mnt/sauvegardes
SOURCE=/home/nom_de_l'utilisateur
/bin/mv $TARGET/J $TARGET/J1
/usr/bin/rsync -a --no-o --delete --safe-links --link-dest=$TARGET/J1 $SOURCE $TARGET/J/
Voici plus ou moins la tête de mon script.
Maintenant comment dire à mon script de sauvegarder le /home de la personne qui le lance avec son login?

Hors ligne

#15 Le 27/08/2014, à 11:50

jplemoine

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

hitman40 a écrit :

Je ne peux utiliser de logiciels tiers car je me trouve dans un système réseau "avec des patrons" qui refusent leur installation.

Tout dépend ce que l'on appelle "logiciel tiers" : à partit du moment où le logiciel est dans les dépôts officiels (hormis peut-être le dépôt partenaire), je ne vois pas où est le problème.
Tant que tu n'utilises pas de logiciel propriétaire,...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#16 Le 27/08/2014, à 11:56

tiramiseb

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Je ne peux utiliser de logiciels tiers car je me trouve dans un système réseau "avec des patrons" qui refusent leur installation.

Même un simple outil comment rdiff-backup !?
Comment peux-tu être efficace dans la mise en œuvre d'une solution logicielle si tu n'as pas le droit d'installer des logiciels ?

Donc si je comprends bien, tes chefs d'ont dit « fais des sauvegardes des données, mais tu n'as pas le droit d'installer un outil qui est fait pour faire des sauvegardes » ?

Et tu ne peux même pas filouter (par exemple en rendant l'exécutable rdiff-backup disponible sur le volume correspondant à /mnt/sauvegardes) ?

Pour la sauvegarde incrementale je vais utiliser rsync parce que je le maîtrise pas trop mal.

rsync ne fait pas de sauvegarde incrémentale, il faut de la synchronisation. À ma connaissance il ne stocke pas les incréments...

/bin/mv $TARGET/J $TARGET/J1

Outch ! Tu retransfères l'intégralité des fichiers à chaque fois !?
Pour un utilisateur qui a 2 Mo de fichiers, ok sur un réseau 100 Mb/s c'est rapide (moins d'une seconde), mais si l'utilisateur a 2 Go de données ça prend alors presque 3 minutes. Si chaque utilisateur a 2 Go de données et fait une sauvegarde tous les jours, alors ça fait un réseau 100Mb/s chargé à 100% pendant 9 heures tous les jours pour 200 utilisateurs.

À la limite, remplace "mv" par "cp", histoire de ne transférer que les deltas ! Sinon en plus ça ne sert à rien d'utiliser rsync.

De plus, là tes sauvegardes prennent énormément de place : le double de la somme totale de tous les fichiers de tous les utilisateurs.

Par ailleurs, là tu ne conserves que le jour courant et le jour précédent ! C'est plutôt insuffisant comme politique de sauvegarde...

Donc en gros, mon avis sur ta politique de sauvegarde est : argh crado pas beau pas efficace tu vas droit dans le mur.

----------

Cela étant dit, si tu tiens vraiment à utiliser cette méthode qui va t'assurer des arrachages de cheveux à terme, voici ce que tu dois faire :

- remplacer "$SOURCE" par "$HOME" pour que ça pointe vers le répertoire de l'utilisateur (ou alors faire "SOURCE=$HOME")
- ajouter $HOME dans TARGET également, genre "TARGET=/mnt/sauvegardes$HOME"

Hors ligne

#17 Le 27/08/2014, à 12:11

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Je suis d'accord avec toi.
Hitman tu n'as pas répondu a ma question dequoi est composé ton réseau, uniquement du Linux si oui quel distro/version si non plus de précsion serait bien venu


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#18 Le 27/08/2014, à 12:55

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

La dernière ligne de mon script permet de faire des liens dur entre le dossier J et J1 donc je ne synchronise que se qui a changé (je sauvegarde mais serveurs de 6to comme ça ) je sais que mon script fonctionne et donc n'utilise pas beaucoup de ressource reseau.
Par contre si je déclare $HOME il va copié /HOME et ce script sur tous les Pc va écraser tout le temps mes sauvegardes non?

Hors ligne

#19 Le 27/08/2014, à 13:14

Brunod

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

C'est pour ça qu'il faut mettre le nom de la machine source dans le path de destination via une variable qui sera la même pour tous; donc un seul script.


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#20 Le 27/08/2014, à 13:18

tiramiseb

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

La dernière ligne de mon script permet de faire des liens dur entre le dossier J et J1

Ah oui je n'avais pas vu cette option. Menfin c'est quand même plutôt crado dans l'ensemble, je trouve...
En tout cas ça n'est pas une sauvegarde tout à fait efficace à mon humble avis.

Par contre si je déclare $HOME il va copié /HOME et ce script sur tous les Pc va écraser tout le temps mes sauvegardes non?

Tu as mal lu ce que j'ai écrit. $HOME contient le répertoire utilisateur de l'utilisateur courant. Donc pas /home mais /home/toto, par exemple.

Et tu peux aussi mettre le nom de machine sur le volume distant, comme l'indique Brunod, bien que je ne pense pas que ça soit spécialement pertinent si j'ai bien compris ta problématique.

Hors ligne

#21 Le 27/08/2014, à 13:35

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

tiramiseb a écrit :

La dernière ligne de mon script permet de faire des liens dur entre le dossier J et J1

Ah oui je n'avais pas vu cette option. Menfin c'est quand même plutôt crado dans l'ensemble, je trouve...
En tout cas ça n'est pas une sauvegarde tout à fait efficace à mon humble avis.

Par contre si je déclare $HOME il va copié /HOME et ce script sur tous les Pc va écraser tout le temps mes sauvegardes non?

Tu as mal lu ce que j'ai écrit. $HOME contient le répertoire utilisateur de l'utilisateur courant. Donc pas /home mais /home/toto, par exemple.

Et tu peux aussi mettre le nom de machine sur le volume distant, comme l'indique Brunod, bien que je ne pense pas que ça soit spécialement pertinent si j'ai bien compris ta problématique.

Pour moi la cible devrait etre /homme/toto, le souci c'est comme c'est de la copie pure et dure sans historique, ça craint un max si on veut la sécurité des infos,
@hitman, je te conseille de lire ceci et nous dire ce qui correspondrait a tes besoins.


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#22 Le 27/08/2014, à 14:16

Brunod

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Attention si toto a une session sur plusieurs pc...


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#23 Le 27/08/2014, à 14:23

tiramiseb

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Brunod a écrit :

Attention si toto a une session sur plusieurs pc...

C'est pas faux.

Hors ligne

#24 Le 27/08/2014, à 14:30

PPdM

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Si tout les PCs sont identiques pas de soucis particulier, et toto retrouve toujours tout son environnement quelque soit le pc


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#25 Le 27/08/2014, à 14:33

hitman40

Re : Sauvegardes de plusieurs /home sur serveur (RÉSOLU)

Donc pour @PPdm : ma demande, compte tenue de ton article, serait plus une sauvegarde différentielle.

Pour les autres si je comprends bien votre solution mon script ressemblerait à ça :
#!/bin/sh
TARGET=/mnt/sauvegardes
SOURCE=$home
/bin/mv $TARGET/J $TARGET/J1
/usr/bin/rsync -a --no-o --delete --safe-links --link-dest=$TARGET/J1 $SOURCE $TARGET/J/

Hors ligne