Différences entre les versions de « Copie de fichiers »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 35 : | Ligne 35 : | ||
les permissions, le propriétaire, le groupe, et l’horodatage des fichiers. | les permissions, le propriétaire, le groupe, et l’horodatage des fichiers. | ||
# | # rsync -av /foo/ /bar/ : copie les fichiers présents dans foo dans le répertoire bar | ||
# | # rsync -av /foo /bar/ : copie le répertoire foo dans bar | ||
# rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/lost+found"} / /path/to/backup/directory | |||
Options : | Options : | ||
Version du 27 octobre 2017 à 14:30
Copie rapide via tar over ssh ou en local
Pour faire une copie de fichier rapide entre 2 machines via ssh A faire sur la machine qui va envoyer les données à copier. On va donc copier tout ce qui se trouve à l endroit où l'on fait le tar vers le serveur 212.43.194.2 dans le repertoire /home/benbis/test (ou les données seront décompressées en arrivant) tar cvzf - . | ssh benj@212.43.194.2 "tar xvzf - -C /home/benbis/test" (ou tar -czvf - /mon_dossier_1 /dossier/dossier_2 | ssh user@votre-serveur.com ....) Pour un tar sans décompression à l'arrivée : tar cvzf - . | ssh benj@212.43.194.2 "dd of=/backup/wwwdata.tar.gz" # source local vers 212.43.194.2 ssh root@10.253.6.25 "tar cvzf - /root/ben" | dd of=/root/test.tar.gz # source 10.253.6.25 vers local tar --exclude=.snapshot -czf - . 2> /root/tar_nfs_nfs2_20160824 | tar vxzf - -C /nfs2 # source local . vers local /nfs2, en mettant les erreurs dans un fichier Ou alors pour un dd : dd if=/dev/volimages/firewall_image_root | ssh root@192.168.10.12 "dd of=/dev/volimages/firewall_image_root bs=1M" Si le LV comporte pas mal de vide (l os prend peu de place par rapport à la taille du LV), on peut mettre un gzip pour gagner du temps) : dd if=/dev/vol_kvm2/centos7pxe_root | gzip | ssh root@10.253.6.4 "gunzip | dd of=/dev/vol_kvm2/tescopy bs=1M" Pour voir où en est la copie du dd, ouvrir une 2eme console et kill -USR1 pid_du_dd, on verra dans la console du dd : [root@kvm2-ins.agarik.com ~]# dd if=/dev/vol_kvm2/centos7pxe_root of=/dev/vol_kvm2/centos7pxe_rootnew 4135821+0 records in 4135820+0 records out 2117539840 bytes (2.1 GB) copied, 13.9036 s, 152 MB/s
Copie via Rsync
- Commande de base (pour d'autres commanndes voir ici)
# rsync -av source cible (ex : rsync -av source cible)
-a équivaut à -rlptgoD, en détail, cela signifie que rsync copiera les répertoires, les liens symboliques (et non leur cible), ainsi que les fichiers spéciaux, le tout, en préservant
les permissions, le propriétaire, le groupe, et l’horodatage des fichiers.
# rsync -av /foo/ /bar/ : copie les fichiers présents dans foo dans le répertoire bar
# rsync -av /foo /bar/ : copie le répertoire foo dans bar
# rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/lost+found"} / /path/to/backup/directory
Options :
--delete : ce qui existe dans la cible mais pas dans la source sera supprimée
- Changement de port
Rsync se base sur ssh donc sur le port 22. Si ssh écoute sur un autre port il faudra lancer la commande suivante
rsync -av -e "ssh -p 44230" --delete-before --exclude=.ssh/ /home/user/backup/ user@host_destination:/var/backup/user --stats --bwlimit=25
options :
a : permet d'activer la récursivité
v : permet à la commande d'être verbeuse
e : permet de disposer d'option ssh. Dans notre cas nous spécifions un port particulier (44230)
D : permet de copier les fichiers speciaux tel /dev/null
--partial : permet de relancer la copie d'un fichier d'où il a échoué et non pas depuis le début du fichier
exclude : permet d'exclure des répertoires du backup en partant du répertoire source du backup.
Dans la commande, le fait de spécifier ”.ssh/” exclut ”/home/user/backup/.ssh/”.
stats : permet d'afficher un rapport de fin de backup
bwlimit : permet de limiter le débit. La valeur par défaut est en Kb [kilobytes = kilo octets]