Skip to Content

Copier/partager/synchroniser un fichier entre deux postes

Voici un rapide panorama des solutions les plus couramment utiliser pour copier, partager ou synchroniser des fichiers sous GNU/Linux. Comme bien souvent, il n’y a pas de solution miracle. Il existe un choix d’outil adapté à des besoins particuliers.

Un point de vue personnel va être donné sur l’utilité de chaque outils. Je me place toujours dans le point de vue d’un particulier sur un petit réseau. Les besoins seraient bien différent dans une grande structure.

Copier un fichier entre deux postes

Copier un fichier entre deux postes consiste à le reproduire sur un machine distante.
Deux outils sortent du lot : scp et sftp.

Scp

Description

Scp est l’équivalent de "cp" mais par réseau. Il utilise le démon sshd.

Fonctionnement

Son fonctionnement est simple :

# scp fichier guillaume@192.168.0.2:/home/guillaume
guillaume@192.168.0.2's password:
fichier                                          100%    9KB   5.8MB/s   00:00

Il est possible également de rapartrier un fichier de la même manière :

# scp guillaume@192.168.0.2:/home/guillaume/fichier .
guillaume@192.168.0.2's password:
fichier                                          100%    9KB   5.8MB/s   00:00

L’option "-r" permet de récuperer un répertoire complet.

Conclusion

Cette commande est pratique et rapide lorsqu’on connait le fichier à copier, ainsi que le répertoire de destination.

Sftp

Description

sftp est un protocole de transfert de fichier qui ressemble au ftp (mais ce n’est pas du ftp sur une couche ssl). Il utilise également le démon sshd.

Fonctionnement

Du fait de la ressemblance avec ftp, son fonctionnement est simple :

# sftp guillaume@192.168.0.2
Connecting to 192.168.0.2...
guillaume@192.168.0.2's password:
sftp> cd /tmp
sftp> put fichier
fichier                                          100%    9KB   5.8MB/s   00:00
sftp>

Il est possible d’accéder facilement à une autre machine en sftp grâce à des outils comme nautilus.

Pour accèdé de façon temporaire à une machine, faire, dans nautilus, Ctrl-l. Dans la fenêtre, taper "sftp://guillaume@192.168.0.2".

Si vous avez l’habitude d’accèder tout le temps à certaine machine, il est possible de faire un connecteur réseau :


sftp dans nautilus

Maintenant dans le poste de travail ou sur le bureau nous auront un icône nous permettant d’accèder facilement à la machine distante :


le lecteur réseau

Conclusion

Cette solution est plus adapté au tranfert dont on ne connait pas bien le chemin de destination ou que le préfère copier de façon graphique.

Partager un fichier

Contrairement à la copier, le partage permet à un groupe de personne d’accèder à un même fichier et de le modifier.

NFS

Description

NFS est un système de partage de fichier sous UNIX. La version 4 de NFS vient juste de sortir et apporte de grande amélioration que nous attendions tous (notamment pour l’identification). Cette version n’est pas encore à l’heure actuelle finalisé.

Fonctionnement

NFS fonctionne sous la forme de client/serveur.

Sur le serveur, la configuration de NFS se fait dans /etc/exports :

/home/ftp  192.168.0.3(ro,sync)  192.168.0.2(rw,sync)

Puis lancer la commande suivante pour que le changement soit pris en compte :

# exportfs -a

Dans l’exemple précédent, nous autorisons 192.168.0.2 et 192.168.0.3 à accedé en lecture à notre partage. 192.168.0.2 à également accès en écriture.

Conclusion

NFS est pratique pour le partage de fichier entre machine de type UNIX. Son principal défaut est son manque d’évolution depuis un certain temps. La version 4 du serveur comble la plupart des manques que nous pouvons lui trouver.

Samba

Description

Même si microsoft n’a pas inventer le protocole cifs/smb, ce protocole est fortement lié au système windows.

Fonctionnement

Le fichier de configuration principal de samba est /etc/samba/smb.conf.

Voici un fichier de base (pas de controle d’accès) :

[global]

  workgroup = gnunux

[partage]
  comment = Le service
  path = /home/ftp
  guest ok = yes

Conclusion

Samba va être avantageux pour le partage GNU/windows (voir la seule solution dans celle présenté simple à mettre en place).

Synchroniser des fichiers

La synchronisation permet de faire un mirroir d’un répertoire de façon automatique.

Rsync

Description

Issu du projet samba, rsync permet de synchroniser des mirroirs. Il est facile à mettre en place et a administrer.

Fonctionnement

Il fonctionne sous un mode client/serveur. Le fichier de configuration principe est /etc/rsyncd.conf :

motd file = /etc/motd
max connexions = 1
syslog facility = local3
uid = nobody
gid = nobody
hosts allow = 192.168.0.3
[www]
  comment  = fichier dupliquer
  path = /home/ftp
  read only = yes
  list = yes

Le démon est lancé par inetd ou xinetd.

Pour la partie cliente :

- Voir le contenu d’un mirroir :

# rsync rsync://192.168.0.25
www             fichier dupliquer
# rsync rsync://192.168.0.25/www
rsync rsync://localhost/www
drwxr-xr-x        4096 2005/03/08 22:51:44 .
-rw-r--r--      128122 2005/03/08 22:51:44 document.zip
-rw-r--r--          19 2005/03/08 22:50:18 test

- Pour le téléchargement :

rsync -avuz rsync://192.168.0.25/www .
rsync -avuz rsync://192.168.0.25/www .
receiving file list ... done
./
document.zip
                                                                               test

wrote 1189 bytes  read 163 bytes  2704.00 bytes/sec
total size is 128141  speedup is 94.78

Conclusion

Rsync est un système facile a mettre en place pour des mirroirs. Il est surtout adapter à la synchronisation dans un seul sens.

Il peut géré un mécanisme d’authentification sécurisé.

Unison

Description

Unison est un système de synchronisation de dossier entre deux postes.

Fonctionnement

Il faut commencer de faire un fichier de configuration par répertoire synchronisé. Il est possible de créer le fichier de configuration grâce à une interface graphique. Pour la lancer, faire unison -ui graphic. Voici par exemple le fichier de configuration /.unison/test

root = /home/ftp/
root = ssh://root@formation1/home/ftp

Puis pour synchroniser, faire :

unison test

Conclusion

Unison est surtout adapter à la synchronisation entre deux postes, ou les deux peuvent être modifié.

Fichier attachéTaille
sftp dans nautilus49.45 Ko
le lecteur réseau10.64 Ko

Commentaires

> Copier/partager/synchroniser un fichier entre deux postes

Effectivement unison ainsi que rsync fonctionne parfaitement sous windows.

> Copier/partager/synchroniser un fichier entre deux postes

Unison fonctionne avec windows je crois ???