Such a schedule cannot be expressed in Bacula's Schedule resource syntax.
You can approximate it by scheduling
- Job1 on 1st Sun and 3rd Sun
- Job2 on 1st Mon and 3rd Mon
- Job3 on 2nd Tue and 4th Tue
- Job4 on 2nd Wed and 4th Wed
- Job5 on 2nd Thu and 4th Thu
This would cause your desired schedule to be applied to day 1-28 of each month, while skipping the remaining days (29-31, at worst) without running anything.
If that is not good enough, you can use schedule modification by a Run Before Job, using the fact that if a Run Before Job returns an error then the job itself isn't run. To implement this:
- schedule the jobs on their respective weekdays without week
restriction
- create two shell scripts "even-week" and "odd-week" that return success and failure, respectively, during one week, the other way around during the following week, and so on
- add the directive "Run Before Job = odd-week" to Job1 and Job2, and the directive "Run Before Job = even-week" to Job3, Job4 and Job5
Thus, for example Job1 will be scheduled every Sunday but only actually run if odd-week returns success, ie. only in week 1, 3, 5, and so on.
Writing the actual scripts is left as an exercise to the reader. :-)