Automator script not running at specified interval, and not automatically running when launched

I've got a an Automator script that copies files off a connected external SSD to an internal folder, which is backed up to Dropbox.


If I run the script manually it works. But, I checked, and when the computer's user logs in, the script just pops up with an option for me to manually run it.


After I do that, I would expect it would run based on the interval I specified. However, I ran it last night, and left the computer logged in, and it should've ran multiple times since then. But, nothing new has been copied over.


Here's the Automator script:


rsync -av --exclude 'RC_Data_FMS' --exclude 'Sample' --del /Volumes/SSD/Backup_External/ /Users/computer/Dropbox/Filemaker/backups


Here's the plist file located in the ~/Library/LaunchAgents folder:


<?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>KeepAlive</key>

<false/>

<key>Label</key>

<string>FMS Backup</string>

<key>ProgramArguments</key>

<array>

<string>/Users/computer/Desktop/FMS Backup.app</string>

</array>

<key>RunAtLoad</key>

<true/>

<key>StartInterval</key>

<key>Minute</key>

<integer>45</integer>

</dict>

</plist>

Mac mini, macOS 14.7

Posted on Apr 18, 2025 10:39 AM

Reply
Question marked as Top-ranking reply

Posted on Apr 18, 2025 1:14 PM

Lots to unpack here.


Ordinarily, an Automator app wouldn't display a popup to run, which makes me wonder what your workflow looks like. What (other?) actions are in your workflow?


Secondly, if your workflow just calls that shell command (presumably via a Run Shell Script action, why bother using Automator at all, when you can just write that shell script, or literally invoke rsync directly in your launchAgent .plist


That said, the fundamental problem with your script is that StartInterval is defined as a number of seconds between launches. There is no inherent support for the Minute parameter. If you want your script to run every 45 minutes, then you should have:


	<key>StartInterval</key>
	<integer>2700</integer>


Where 2,700 seconds equates to 45 minutes.


Alternatively, if you mean your script to run at every 45 minutes past the hour, that requries


	<key>StartCalendarInterval</key>
	<dict>
        <key>Minute</key>
	    <integer>45</integer>
    </dict>



1 reply
Question marked as Top-ranking reply

Apr 18, 2025 1:14 PM in response to Tech-RainDefense

Lots to unpack here.


Ordinarily, an Automator app wouldn't display a popup to run, which makes me wonder what your workflow looks like. What (other?) actions are in your workflow?


Secondly, if your workflow just calls that shell command (presumably via a Run Shell Script action, why bother using Automator at all, when you can just write that shell script, or literally invoke rsync directly in your launchAgent .plist


That said, the fundamental problem with your script is that StartInterval is defined as a number of seconds between launches. There is no inherent support for the Minute parameter. If you want your script to run every 45 minutes, then you should have:


	<key>StartInterval</key>
	<integer>2700</integer>


Where 2,700 seconds equates to 45 minutes.


Alternatively, if you mean your script to run at every 45 minutes past the hour, that requries


	<key>StartCalendarInterval</key>
	<dict>
        <key>Minute</key>
	    <integer>45</integer>
    </dict>



This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Automator script not running at specified interval, and not automatically running when launched

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.