I have a system which triggers a backup on repeated frequency and/or disk fill. For the the repeat frequency, my form shows the following (same field repeated in one image):

[![enter image description here](https://i.stack.imgur.com/Se3aa.jpg)](https://i.stack.imgur.com/Se3aa.jpg)

You can select a different values in the 'every' dropdown and it will show other options as pictured.

What is a better approach? I cannot find another user interface which asks for a similar input and I designed this one as I wanted.
['https://ux.stackexchange.com/questions/106460', 'https://ux.stackexchange.com', 'https://ux.stackexchange.com/users/99190/']
The problem comes when you specify a pattern rather than an interval. 

Technically, it's the period you want to set, not the frequency. Frequency being the number of occurrences of a repeating event per unit time vs period as the duration of time of one cycle.

When you specify a pattern like every X at Y you have to say things like:

* every day at time T
* every week but on day D, at time T
* every month but on day n at time T

The event occurs when the pattern is matched.

When you specify an interval you say things like

* every N days starting at time T
* every N weeks starting at time T
* every N months starting at time T

The event occurs when the interval elapses.

So with intervals you only ever have to specify the same pair of values:

* the interval (N + unit)
* when to start (for which NOW might be an option)

[bvckup](https://bvckup2.com/) is an awesome backup tool that uses exactly this structure:

[![enter image description here](https://i.stack.imgur.com/wZxzi.png)](https://i.stack.imgur.com/wZxzi.png)
To provide an example of a robust way to schedule a task I'd look at programs made for it - A tried and tested example is Microsoft Outlook. It's not pretty, but neither is our calendar, nor the way humans like to schedule things.

[![Example image](https://i.stack.imgur.com/ZxZi3.jpg)](https://i.stack.imgur.com/ZxZi3.jpg)

Some things to learn from this scheduler about common schedules:

* the 31st doesn't exist every month, consider including a 'last' option
* day of the week often trumps time of the month for long tasks. I'd much rather have my backup task run on the last saturday when I'm away than the last day of a month
* Time could have an AM/PM (dependant on locale)
* someone might want to schedule it twice a week or more so checkboxes to select the days can be useful
* every day on weekdays only
* every 2 months
* this isn't included in Outlook, but the Windows task scheduler also has an option to sync a task across time zones if the task requires it. All depends on your requirements

and always check with your users to see what they want to be able to do or see. I think your example would be more than enough for many people and use cases