• copier des fichiers d’un serveur à un autre avec scp

      LOCAL > DISTANT

      scp -P 123 fichier.txt toto@192.168.0.1:/chemin/distant

      -P 123 si le port est différent de 22 (par défaut)

      fichier.txt fichier à transférer

      toto@10.10.0.2 is the server IP address.

      /chemin/distant chemin du dossier distant où copier le fichier. Si pas renseigné, le fichier sera copîer dans le dossier du user (/home/toto).

       

      Pour changer le nom du fichier dans le dossier distant :

      scp fichier.txt toto@192.168.0.1:/chemin/distant/nouveauNom.txt

       

      Pour copier un dossier complet : -r

      scp -r /chemin/dossier toto@192.168.0.1:/chemin/distant

      DISTANT > LOCAL

      scp -P 123 toto@192.168.0.3:/chemin/distant/* /chemin/local/

       

      -P 123 port à utiliser avec ssh

      toto@192.168.0.3 utilisateur et machine du distant

      :/chemin/distant/* chemin où l’on récupère tous les fichiers (*)

      /chemin/local chemin local vers lequel on copie les fichiers

      OPTIONS

      -P 123 remote host ssh port
      -p préserver les dates de modification et d’access des fichiers
      -q suppress the progress meter and non-error messages
      -C . compresses the data as it is sent to the destination machine

      -r copy directories recursively

       

      : is how scp distinguish between local and remote locations.

      Pour copier des fichiers dans le dossier distant, il faut avoir les droits en écriture.

      NOTE : scp écrase les fichiers de même nom sans avertissement.

      NOTE : Pour copier des fichiers volumineux, il est conseillé d’utiliser scp avec une session de screen ou tmux.

      DISTANT > DISTANT

      Copier le fichier /files/file.txt from the remote host host1.com to the directory /files on the remote host host2.com.

      scp user1@host1.com:/files/file.txt user2@host2.com:/files

       

      Pour router le traffic par la machine locale : -3

      scp -3 user1@host1:/files/file.txt user2@host2:/files

      Conclusion

      You may also want to set up an SSH key-based authentication and connect to your Linux servers without entering a password.

      If you are regularly connecting to the same systems, you can simplify your workflow by defining all of your connections in the SSH config file.

      Copier des répertoires entre machines avec ssh

      cd repertoire_de_copie
      scp -rp user@host:/toto/titi_dir ./

      -r permet de faire une copie récursive du répertoire titi_dir/

      -p permet de préserver les droits et date des fichiers

      Copie avec tar et ssh

      on se loggue sur la machine destination et on tape :

      (ssh user@host 'cd /data/dir_a_copier && tar cf - *') | (cd /xxx/dir_destination && tar -xf -)

       

      et si vous voulez compresser, ajoutez dans les paramètres du tar la compression que vous souhaitez (z, j,…)

      (ssh user@host 'cd /data/dir_a_copier && tar zcf - *') | (cd /xxx/dir_destination && tar -zxf -)

       

      Pour lancer la tâche en arrière plan

      nohup sh -c "(ssh user@host 'cd /data/dir_a_copier && tar zcf - *') | (cd /xxx/dir_destination && tar -zxf -)" &

      Copie avec rsync et ssh

      Pour synchroniser des répertoires entre 2 machines. rsync commence par regarder les différences entre les répertoires et ne copie que les fichiers qui ont été modifiés

      aller sur la machine destination et lancer les commandes suivantes :

      cd /data/dir_destination
      rsync -vazu -e ssh user@host:/data/dir_a_copier/ ./

      Utilisation de rsync et ssh avec exclusion de fichiers

      Avec rsync, on peut en plus séléctionner de façon assez fine la liste des fichiers/répertoires que l’on souhaite synchroniser ou non.

      Utilisation de rsync avec exclusion dans cet exemple, on se loggue sur la machine source

      rsync -vazu -e ssh \
      --exclude "/**/CVS" \
      --include "*/" \
      --include "*.jsp" \
      --exclude "*" \
      /xxx/le_repertoire_a_copier/* user@host.com:/xxx/le_repertoire_destination_a_distance

       

      rsync vers un ssh sur un port particulier

      rsync -vazu -e "ssh -p 310" user@host.com:/data/dir_a_copier/ ./

 

Aucun commentaire

 

Laissez un commentaire