8 votes

Étant donné que tar a ignoré mes 2 sockets, comment puis-je sauvegarder et ensuite restaurer mon dossier de connexion ?

J'ai fait une sauvegarde réseau de mon espace de connexion en vue de reformater le volume dans lequel il réside pour le rendre amorçable sur mon vieux Power Mac G5. exécutant la toute dernière version de Léopard.

Bien que je ne pense pas que ce symptôme soit une fonction de l'actuel tar voici la commande réelle pour être complet :

   bill@r2d2-2:~
   [108] (sudo tar cf - -C /Volumes/usr1 Users) | gzip -c - | ssh whmcclos@mbp \
             'cat > /Volumes/link2TMS/r2d2_usr1_Users.tar.gz'
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Commands: socket ignored
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Notification: socket ignored

Voici les deux fichiers socket qui tar ignore

bill@r2d2:~/Library/Acrobat User Data/8.0_ppc/Synchronizer
[11] ls -larhdt *
drwx------  3 bill  staff   102B Jun  4  2010 metadata
-rw-r--r--  1 bill  staff     0B Jan 20 13:05 adobesynchronizersu80
srwxr-xr-x  1 bill  staff     0B Jan 20 13:05 Notification
srwxr-xr-x  1 bill  staff     0B Jan 20 13:05 Commands

Je n'ai pas travaillé avec la création de sockets depuis quelques années, et je saurai quoi faire dès que j'aurai un indice. Comme le dit le titre, comment puis-je sauvegarder et ensuite restaurer ces fichiers étant donné que tar les a ignorés ?

10voto

James Mertz Points 390

Tu ne le fais pas.

Les sockets locaux Unix sont créés dès qu'un programme tente d'écouter les connexions sur le chemin donné, et bien qu'il s'agisse d'un type de fichier, ils n'agissent que comme des pointeurs vers des structures en mémoire ; ils ne sont donc utiles que tant que le programme est en cours d'exécution (et seulement sur la même machine ; pas de NFS ou autre).

Après la sortie du programme, le fichier socket n'est plus utile (et est normalement supprimé par le programme lui-même) ; en fait, si le programme est redémarré, il doit supprimer l'ancien socket avant d'écouter sur le même chemin - sinon il recevrait un "Adresse déjà utilisée" (comme si deux programmes essayaient de prendre le même port TCP).

C'est un peu différent du nom tuyaux (alias fifos), qui fonctionnent de manière beaucoup plus simple (un processus écrit, un processus lit) et sont donc réutilisables ; un tube nommé peut être créé en utilisant la commande mkfifo ou mknod p … des commandes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X