OS X: ¿Configurar una carpeta como "extensión" de otra, al estilo de enlace simbólico?

0

Tengo dos carpetas en dos volúmenes diferentes:

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

En la segunda carpeta, coloco archivos y carpetas grandes para que no ocupen todo el espacio en el SSD. Para tener todo en un solo lugar, creo enlaces simbólicos desde la primera a la segunda carpeta, así:

/Volumes/SSD/my-important-folder/big-file es un enlace simbólico a /Volumes/HDD/my-extension-of-important-folder/big-file

Esto es útil porque los archivos grandes se almacenan en el disco duro pero están disponibles como si estuvieran almacenados en el SSD. Pero esto tiene la desventaja de que tengo que crear un enlace simbólico para cada carpeta de archivos que agrego a la carpeta en el disco duro.

Sería realmente útil si pudiera decirle al sistema operativo: si llamo a un archivo que no está en /Volumes/SSD/my-important-folder , búsquelo en /Volumes/HDD/my-extension-of-important-folder .

La carpeta en el HDD sería una extensión real de la carpeta en el SSD.

¿Se puede hacer esto? Estoy ejecutando OS X 10.9.1

    
pregunta bootsmaat 26.02.2014 - 14:23

3 respuestas

3

Por lo que sé, no puedes hacer eso directamente, pero no estoy seguro de entender por qué querrías hacerlo.

¿Por qué no solo el enlace simbólico de la carpeta completa y nunca te preocupas por que siga adelante?

Si es importante para usted que solo los archivos grandes se mueven a la HDD, puede crear una Acción de carpeta en Automator y ejecutar un script de bash que verifique el tamaño del archivo y se base en eso creó symlink automáticamente (supongo que tienes alguna habilidad técnica, ya que sabes lo que symlink incluso es :) Dicho esto, me encantaría poder publicar instrucciones más detalladas si es necesario).

    
respondido por el Lasse 26.02.2014 - 14:32
1

Me gustaría ver esto de otra manera.

Yo crearía varias carpetas en el sistema de archivos:

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

Luego acciones de carpeta.

Si cualquier dato se almacena en /Volumes/SSD/Data según su tamaño y muévalo a una de las dos carpetas.

Si los datos se almacenan en /Volumes/SSD/ActualDataOnSSD o /Volumes/HDD/ActualDataOnHDD , cree un enlace simbólico para ellos en /Volumes/SSD/Data .

Esto parece satisfacer tus necesidades, sin embargo tengo grandes preocupaciones cuando se trata de guardar un archivo que se está moviendo.

    
respondido por el Shane Hsu 26.02.2014 - 16:41
0

Intente usar un comando como este:

ln -s /dir2/* /dir1

ln omite los archivos que existen en el objetivo y no recrea los enlaces simbólicos existentes.

Para ejecutar el comando cuando se modifica /dir2/ , guarde, por ejemplo, este plist como ~/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>

Luego ejecuta launchctl load ~/Library/LaunchAgents/some.label.plist .

    
respondido por el user495470 26.02.2014 - 16:40

Lea otras preguntas en las etiquetas