0 votes

OS X : Configurer un dossier comme "extension" d'un autre, à la manière de symlink ?

J'ai deux dossiers sur deux volumes différents :

  • /Volumes/SSD/my-important-folder
  • /Volumes/HDD/my-extension-of-important-folder

Dans le second dossier, je place les fichiers et dossiers volumineux afin qu'ils ne prennent pas toute la place sur le SSD. Afin d'avoir tout au même endroit, je crée des liens symboliques du premier au deuxième dossier, comme suit :

/Volumes/SSD/my-important-folder/big-file est un lien symbolique vers /Volumes/HDD/my-extension-of-important-folder/big-file

C'est utile car les gros fichiers sont stockés sur le disque dur mais ils sont disponibles comme s'ils étaient stockés sur le disque dur SSD. Mais cela présente l'inconvénient de devoir créer un lien symbolique pour chaque fichier ou dossier que j'ajoute au dossier du disque dur.

Il serait vraiment utile de pouvoir dire à l'OS : si j'appelle un fichier qui n'est pas dans /Volumes/SSD/my-important-folder veuillez consulter le site /Volumes/HDD/my-extension-of-important-folder .

Le dossier sur le disque dur serait alors une extension réelle du dossier sur le disque SSD.

Cela peut-il être fait ? J'utilise OS X 10.9.1.

3voto

Lasse Points 1173

Pour autant que je sache, vous ne pouvez pas le faire directement, mais je ne suis pas sûr de comprendre pourquoi vous le voudriez ?

Pourquoi ne pas simplement faire un lien symbolique avec le tout le site et ne plus s'en soucier à l'avenir ?

S'il est important pour vous que seuls les fichiers volumineux soient déplacés vers le disque dur, vous pouvez créer un fichier de type Action des dossiers dans Automator et exécuter un bash script qui vérifiait la taille du fichier et en fonction de cela déplaçait et créait les symlink automatiquement (je suppose que vous avez un peu de compétences techniques puisque vous savez ce que symlink même est :) Cela dit, je serais heureux de poster des instructions plus détaillées si nécessaire).

1voto

Michael Kropat Points 3993

Je verrais ça d'une autre manière.

Je créerais plusieurs dossiers dans le système de fichiers :

/Volumes/SSD/Data
/Volumes/SSD/ActualDataOnSSD
/Volumes/HDD/ActualDataOnHDD

Ensuite, les actions du dossier.

Si des données sont stockées dans /Volumes/SSD/Data en fonction de sa taille et déplacer dans l'un des deux dossiers.

Si des données sont stockées dans /Volumes/SSD/ActualDataOnSSD o /Volumes/HDD/ActualDataOnHDD créez un lien symbolique pour eux dans /Volumes/SSD/Data .

Cela semble satisfaire votre besoin, cependant J'ai grand lorsqu'il s'agit de sauvegarder un fichier en cours de déplacement.

0voto

Essayez d'utiliser une commande comme celle-ci :

ln -s /dir2/* /dir1

ln ignore les fichiers qui existent sur la cible, et ne recrée pas les liens symboliques existants.

Pour exécuter la commande lorsque /dir2/ est modifié, enregistrez par exemple cette plist comme ~/Library/LaunchAgents/some.label.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>some.label</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <string>ln -s /dir2/* /dir1</string>
  </array>
  <key>WatchPaths</key>
  <array>
    <string>/dir2/</string>
  </array>
</dict>
</plist>

Ensuite, exécutez launchctl load ~/Library/LaunchAgents/some.label.plist .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X