Crear una carpeta automatizada HFS + comprimida

Me gustaría configurar una forma automática para archivar files en OS X Lion. Al archivar, me refiero al uso de la característica de compression HFS + en una carpeta específica, y hacer que cada file que mueva a esta carpeta se comprima automáticamente. Estoy pensando en usar esto para archivar files grandes que no uso a menudo, pero sin tener que crear manualmente files comprimidos y tener que extraerlos en caso de que los necesite.

Me encontré con la herramienta afsctool ( brew install afsctool ), que puede, a través de la command-line, aplicar compression HFS + a una carpeta y todos los files en ella. Pero creo que no activa la compression de futuros files movidos a la carpeta.

  • ¿Existe una utilidad Mac para crear un Zip / file ejecutable?
  • Terminal: ¿está el command zip incorporado con pérdida?
  • ¿Cómo puedo hacer que un documento PDF sea más pequeño?
  • ¿Cómo comprime un directory de forma transparente?
  • Cómo extraer un file .ace comprimido?
  • Comprime múltiples files en diferentes carpetas
  • Mover files manualmente y ejecutar una instrucción de línea de command repetidamente es inconveniente. Por lo tanto, supongo que necesitaría usar el automatizador / AppleScript para ejecutar esto en dos pasos:

    1. Cree una secuencia de commands que permita mover cualquier file a una carpeta específica. Idealmente, una opción llamada Archivo accesible a través de un clic derecho en el file.
    2. Ejecute una instrucción de línea de command afsctool -c <folder> , para activar la compression en todos los files nuevos que se acaban de mover a la carpeta.

    No tengo experiencia en usar el automatizador o AppleScript, por lo que me gustaría saber por dónde empezar, especialmente con respecto a cómo agregar acciones al Buscador y cómo ejecutar una herramienta de línea de command desde un script.


    Actualizaciones

    La guía @kopischke funciona bien. El script en sí, lo hice basado en la respuesta por @mark, pero usando afsctool -c <folder> , en lugar de ditto . Aquí está el guión: debe colocarse en ~/Library/Scripts/Folder Action Scripts

     on adding folder items to this_folder after receiving these_items repeat with i from 1 to number of items in these_items try set this_item to item i of these_items tell application "Finder" set the file_name to the POSIX path of this_item end tell set cmd to "/usr/local/bin/afsctool -c " & file_name do shell script cmd on error the error_message number the error_number display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1 end try end repeat end adding folder items to 

    Desde http://web.me.com/brkirch/brkirchs_Software/afsctool/afsctool.html en MobileMe ya no está disponible, hay diimdeep / afsctool en GitHub, actualmente 1.6.4.

    También afsctool en MacPorts donde conocen el problema de MobileMe pero tal vez desconocen la fuente en GitHub.

  • ¿Hay algún problema con Thunderbolt para HDMI en Lion?
  • ¿Cuánto time debería llevar habilitar FileVault 2 en una nueva installation de Lion?
  • No se puede abrir un disco SSD extendido de Mac OS (Journaled) en Boot Camp
  • ¿Qué es 'connectservice.app'?
  • ¿Cómo encydo Time Machine con Mac OS X Lion?
  • Aplicaciones de gestión centralizada / Carpetas de inicio en Mac OS X Lion Server
  • 4 Solutions collect form web for “Crear una carpeta automatizada HFS + comprimida”

    Hay dos partes en la respuesta a su pregunta.

    1. Cómo agregar un elemento de menu contextual Finder a files "Archivar": esto es fácil de lograr al crear un Servicio Automator (Mac OS X Automation tiene una buena visión general de lo que pueden hacer los services Automator introducidos en OS X 10.6):

      • Inicie Automator, elija "Servicio" cuando se le solicite el tipo de flujo de trabajo que desea crear.
      • Elija "Archivos o carpetas" en el menu desplegable "Servicio recibido" (traducciones aproximadas – Estoy en un sistema alemán). Opcionalmente, configure el menu desplegable "in" en "Finder".
      • Agregue una acción "Obtener elementos del buscador seleccionados".
      • Agregue una acción "Mover elementos del buscador" debajo de eso y configúrela en su carpeta de destino.
      • Guarde su service en la location pnetworkingeterminada ( ~/Library/Services ) como "Archivo".

      ahora tiene un nuevo menu de service y una input en el menu contextual (dependiendo del número de services activos: en el primer menu o en el submenu "Servicios") llamado "Archivo" que moverá el file o la carpeta seleccionada a su destino carpeta.

    2. Cómo automatizar HFS + compression de files agregados a su carpeta de destino: hay varias forms de lograr eso. Por supuesto, podría simplemente agregar ese paso a su service de file. La desventaja de este enfoque es que no se aplicará ninguna compression si los files o las carpetas se agregan alguna vez a la carpeta fuera del service, por supuesto. Un mejor enfoque sería hacer que todo en la carpeta se comprima automáticamente, sin depender del vector de input o la interacción del usuario.

      Una forma es, como habrá descubierto, ejecutar una utilidad de compression cada vez que se agrega un file o una carpeta a su carpeta vigilada:

      • la forma de iniciar una utilidad de shell en AppleScript es el command do shell script – ver la documentation vinculada;
      • la forma incorporada de aprovechar los events del sistema de files en un AppleScript es usar Acciones de carpeta , que llaman a AppleScripts sobre los cambios en una carpeta observada. Los events a los que la secuencia de commands reactjs están definidos por la secuencia de commands, a través de los manejadores que proporciona (por ejemplo, la secuencia de commands en la respuesta de Mark tiene un controller para adding folder items , lo que significa que reactjs a los files recién agregados, consulte la Guía del lenguaje Applescript para reference completa ). La configuration de Acciones de carpeta se encuentra en el menu de services de las carpetas en Finder (también en el menu contextual).
      • una alternativa turboalimentada a Folder Actions es Hazel (software comercial) de Paul Kim , que agrega procesamiento basado en reglas y una plétora de criterios para el event handling events del sistema de files que va mucho más allá de lo que puede lograr con simples Acciones de carpeta; puede investigar Hazel si planea hacer más o más cosas complejas según lo que estás planeando ahora.

      Una alternativa a todo el enfoque de scripting es utilizar los clústeres de LateNiteSoft, otro software comercial que no hace más que aplicar automáticamente (y volver a aplicar, cuando sea necesario) compression HFS + a los contenidos de las carpetas observadas.

    @williamvoor: la secuencia de commands falla con set the file_name to the POSIX path of this_item que contienen espacios, ya que set the file_name to the POSIX path of this_item file set the file_name to the POSIX path of this_item que no escapa correctamente. Corrija la línea apropiada de su código a esto:

     set cmd to "/Users/sn/bin/bin/afsctool -c \"" & file_name & "\"" 

    Explicación : el argumento file_name de afcstool está rodeado de comillas, que a su vez se escapan en el código AppleScript para ser entregadas correctamente al entorno de command-line.

    Meta-tema : Como carezco de puntos de reputación, no pude hacer ningún comentario en la position apropiada (= a la propia publicación de @williamvoor), por lo tanto, lo publico como una respuesta propia, y le pido que edite el cambio de código en su publicación. y dame un pulgar hacia arriba, para que gane la reputación suficiente, lo que me permite comentar directamente en el futuro. ¡Gracias!

    Una vez hecho esto, yo o mi administrador podríamos eliminar mi publicación.

    Este hilo proporciona un AppleScript para usar como una acción de Carpeta que comprime los files a medida que se agregan

     on adding folder items to thisFolder after receiving theseItems set destinationPath to "/POSIX path/to/destination/folder" repeat with thisItem in theseItems set cmd to "ditto --hfsCompression " & quoted form of POSIX path of thisItem & " " & destinationPath do shell script cmd with administrator privileges end repeat end adding folder items to 

    Clusters

    … aprovecha la tecnología de compression de files en Mountain Lion, Lion y Snow Leopard …

    Compresión de carpetas más espaciales

    … La compression HFS + tiene el mejor efecto en formattings de files sin comprimir, como documentos de text y de datos, bases de datos y buzones de correo. Un tamaño de buzón de correo típico se puede networkingucir hasta en un 50%. …

    Preference

    De esos dos, encuentro que los Clusters son más maduros y fáciles de usar, probablemente un mejor ajuste para esta pregunta.


    Proceda con precaución

    En un caso límite, puede producirse un daño silencioso con los usos de AppleFSCompression por parte de terceros. Por lo que puedo decir, esto es un error en el sistema operativo, y puede ocurrir solo cuando hay una extraordinaria falta de espacio libre. Voy a alimentar el error a Apple.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).