From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D82687EAAD for ; Thu, 11 Nov 2021 12:07:16 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0F7209E75 for ; Thu, 11 Nov 2021 12:07:16 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 8920F9B0C for ; Thu, 11 Nov 2021 12:07:11 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5FDD8434A6 for ; Thu, 11 Nov 2021 12:07:11 +0100 (CET) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Thu, 11 Nov 2021 12:07:02 +0100 Message-Id: <20211111110709.633855-2-d.csapak@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211111110709.633855-1-d.csapak@proxmox.com> References: <20211111110709.633855-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.176 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_ASCII_DIVIDERS 0.8 Spam that uses ascii formatting tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH docs 1/3] refactor calendar events into appendix X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Nov 2021 11:07:16 -0000 Signed-off-by: Dominik Csapak --- calendar-events.adoc | 73 ++++++++++++++++++++++++++++++++++++++++++++ pvesr.adoc | 72 ++----------------------------------------- 2 files changed, 75 insertions(+), 70 deletions(-) create mode 100644 calendar-events.adoc diff --git a/calendar-events.adoc b/calendar-events.adoc new file mode 100644 index 0000000..24a1dc6 --- /dev/null +++ b/calendar-events.adoc @@ -0,0 +1,73 @@ +[[chapter_calendar_events]] +Schedule Format +--------------- + +{pve} has a very flexible scheduling configuration. It is based on the systemd +time calendar event format.footnote:[see `man 7 systemd.time` for more information] +Calendar events may be used to refer to one or more points in time in a +single expression. + +Such a calendar event uses the following format: + +---- +[day(s)] [[start-time(s)][/repetition-time(s)]] +---- + +This format allows you to configure a set of days on which the job should run. +You can also set one or more start times. It tells the replication scheduler +the moments in time when a job should start. +With this information we, can create a job which runs every workday at 10 +PM: `'mon,tue,wed,thu,fri 22'` which could be abbreviated to: `'mon..fri +22'`, most reasonable schedules can be written quite intuitive this way. + +NOTE: Hours are formatted in 24-hour format. + +To allow a convenient and shorter configuration, one or more repeat times per +guest can be set. They indicate that replications are done on the start-time(s) +itself and the start-time(s) plus all multiples of the repetition value. If +you want to start replication at 8 AM and repeat it every 15 minutes until +9 AM you would use: `'8:00/15'` + +Here you see that if no hour separation (`:`), is used the value gets +interpreted as minute. If such a separation is used, the value on the left +denotes the hour(s), and the value on the right denotes the minute(s). +Further, you can use `*` to match all possible values. + +To get additional ideas look at +xref:pvesr_schedule_format_examples[more Examples below]. + +Detailed Specification +---------------------- + +days:: Days are specified with an abbreviated English version: `sun, mon, +tue, wed, thu, fri and sat`. You may use multiple days as a comma-separated +list. A range of days can also be set by specifying the start and end day +separated by ``..'', for example `mon..fri`. These formats can be mixed. +If omitted `'*'` is assumed. + +time-format:: A time format consists of hours and minutes interval lists. +Hours and minutes are separated by `':'`. Both hour and minute can be list +and ranges of values, using the same format as days. +First are hours, then minutes. Hours can be omitted if not needed. In this +case `'*'` is assumed for the value of hours. +The valid range for values is `0-23` for hours and `0-59` for minutes. + +[[pvesr_schedule_format_examples]] +Examples: +~~~~~~~~~ + +.Schedule Examples +[width="100%",options="header"] +|============================================================================== +|Schedule String |Alternative |Meaning +|mon,tue,wed,thu,fri |mon..fri |Every working day at 0:00 +|sat,sun |sat..sun |Only on weekends at 0:00 +|mon,wed,fri |-- |Only on Monday, Wednesday and Friday at 0:00 +|12:05 |12:05 |Every day at 12:05 PM +|*/5 |0/5 |Every five minutes +|mon..wed 30/10 |mon,tue,wed 30/10 |Monday, Tuesday, Wednesday 30, 40 and 50 minutes after every full hour +|mon..fri 8..17,22:0/15 |-- |Every working day every 15 minutes between 8 AM and 6 PM and between 10 PM and 11 PM +|fri 12..13:5/20 |fri 12,13:5/20 |Friday at 12:05, 12:25, 12:45, 13:05, 13:25 and 13:45 +|12,14,16,18,20,22:5 |12/2:5 |Every day starting at 12:05 until 22:05, every 2 hours +|* |*/1 |Every minute (minimum interval) +|============================================================================== diff --git a/pvesr.adoc b/pvesr.adoc index 4506c9f..e508eee 100644 --- a/pvesr.adoc +++ b/pvesr.adoc @@ -80,76 +80,8 @@ Supported Storage Types [[pvesr_schedule_time_format]] Schedule Format --------------- - -{pve} has a very flexible replication scheduler. It is based on the systemd -time calendar event format.footnote:[see `man 7 systemd.time` for more information] -Calendar events may be used to refer to one or more points in time in a -single expression. - -Such a calendar event uses the following format: - ----- -[day(s)] [[start-time(s)][/repetition-time(s)]] ----- - -This format allows you to configure a set of days on which the job should run. -You can also set one or more start times. It tells the replication scheduler -the moments in time when a job should start. -With this information we, can create a job which runs every workday at 10 -PM: `'mon,tue,wed,thu,fri 22'` which could be abbreviated to: `'mon..fri -22'`, most reasonable schedules can be written quite intuitive this way. - -NOTE: Hours are formatted in 24-hour format. - -To allow a convenient and shorter configuration, one or more repeat times per -guest can be set. They indicate that replications are done on the start-time(s) -itself and the start-time(s) plus all multiples of the repetition value. If -you want to start replication at 8 AM and repeat it every 15 minutes until -9 AM you would use: `'8:00/15'` - -Here you see that if no hour separation (`:`), is used the value gets -interpreted as minute. If such a separation is used, the value on the left -denotes the hour(s), and the value on the right denotes the minute(s). -Further, you can use `*` to match all possible values. - -To get additional ideas look at -xref:pvesr_schedule_format_examples[more Examples below]. - -Detailed Specification -~~~~~~~~~~~~~~~~~~~~~~ - -days:: Days are specified with an abbreviated English version: `sun, mon, -tue, wed, thu, fri and sat`. You may use multiple days as a comma-separated -list. A range of days can also be set by specifying the start and end day -separated by ``..'', for example `mon..fri`. These formats can be mixed. -If omitted `'*'` is assumed. - -time-format:: A time format consists of hours and minutes interval lists. -Hours and minutes are separated by `':'`. Both hour and minute can be list -and ranges of values, using the same format as days. -First are hours, then minutes. Hours can be omitted if not needed. In this -case `'*'` is assumed for the value of hours. -The valid range for values is `0-23` for hours and `0-59` for minutes. - -[[pvesr_schedule_format_examples]] -Examples: -~~~~~~~~~ - -.Schedule Examples -[width="100%",options="header"] -|============================================================================== -|Schedule String |Alternative |Meaning -|mon,tue,wed,thu,fri |mon..fri |Every working day at 0:00 -|sat,sun |sat..sun |Only on weekends at 0:00 -|mon,wed,fri |-- |Only on Monday, Wednesday and Friday at 0:00 -|12:05 |12:05 |Every day at 12:05 PM -|*/5 |0/5 |Every five minutes -|mon..wed 30/10 |mon,tue,wed 30/10 |Monday, Tuesday, Wednesday 30, 40 and 50 minutes after every full hour -|mon..fri 8..17,22:0/15 |-- |Every working day every 15 minutes between 8 AM and 6 PM and between 10 PM and 11 PM -|fri 12..13:5/20 |fri 12,13:5/20 |Friday at 12:05, 12:25, 12:45, 13:05, 13:25 and 13:45 -|12,14,16,18,20,22:5 |12/2:5 |Every day starting at 12:05 until 22:05, every 2 hours -|* |*/1 |Every minute (minimum interval) -|============================================================================== +Replication uses xref:chapter_calendar_events[calendar events] for +configuring the schedule. Error Handling -------------- -- 2.30.2