Apple Automator

From HaFrWiki
Revision as of 16:34, 27 April 2013 by Hjmf (talk | contribs) (Created page with "{{TOCright}} Automator is a funny tool, but a good tutorial of using it is lacking. ''I really miss some good Automator tutorials online. It's such a great and I guess underra...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Automator is a funny tool, but a good tutorial of using it is lacking. I really miss some good Automator tutorials online. It's such a great and I guess underrated and underused tool. Here I'll show you how to combine it with rsync to easily synchronise two folders. I have looked on the Internet to find good tutorials and decided to collect the best ones.


Synchronize Folders

This example script is in basic taken from Bananical [1], but with a few enhancements to make errors less severe. The script describes real mic what and how you can use Automator to script you results

The script uses the UNIX rsync command [2]. Please take care in using this script. It may be dangerous to use.

  1. Start Automator application and choose the Workflow as template for your Workflow.
  2. Add the action Ask for Finder Items from the category Files & Folders or use the search option to find it.
    • Change the text of the Prompt field into Choose a folder to synchronize from.
    • Select the folder for the Start at field into your folder of choice.
    • Change Type into Folders.
  3. Add action Set value for Variable and give the variable the name source_folder.
    • Now ctrl-click (or right click) on the text field and select Ignore input from the popup-window.
  4. Repeat Step 2: Add the action Ask for Finder Items
    • Change the text of the prompt into Choose a Target folder.
  5. Repeat Step 4: Add action Set value for Variable and give the variable the name target_folder.
  6. Add action Ask for Confirmation
    • Change the prompt into Synchronizing from .
    • Drag the Variable source_folder into the prompt field.
    • and the text to
    • Drag the Variable target_folder into the prompt field.
    • Again, ctrl-click (or right click) on the text field and select Ignore input from the popup-window.
  7. Now add Get Value of Variable for the source_folder and add Ignore the input.
  8. Again add Get Value of Variable for the source_folder and add Ignore the input.
  9. Add the action Run Shell Script. Add the following text:
if [[ -z $1 ]] ; then
   	echo "Invalid choice for Source ($1), aborting"
	exit -1
fi
if [[ -z $2 ]] ; then
   	echo "Invalid choice for Target ($2), aborting"
	exit -1
fi

rsync -va "$1/" "$2/" 
  1. Please not that you can add the option --delete to the rsyc, but don't do that in the first test run.

See also

top

Reference

top

  1. Bananica, Synchronize 2 folders on Mac.
  2. Linux.die.net, man page for rsync.