MYSQL-ZRM-SCHEDULER(1)

📦 version 3.0, in epel 9, fedora 43, fedora 44

💖 mysql‐zrm‐scheduler(1) 💖


🌸 NAME 🌸

mysql‐zrm‐scheduler — the backup scheduler utility for ZRM for MySQL, bestie 💅

✨ SYNOPSIS ✨

mysql‐zrm‐scheduler ‐‐add|‐‐query|‐‐delete|‐‐now
                [‐‐start‐time start time]
                [‐‐day‐of‐week day of week]
                [‐‐day‐of‐month day of month]
                [‐‐interval interval]
                [‐‐backup‐level level]
                [‐‐backup‐set backupset name]
                [‐‐help]

🦋 DESCRIPTION 🦋

okay so mysql‐zrm‐scheduler is the utility for ZRM for MySQL that you use to schedule your MySQL backups using mysql‐zrm‐backup(1). it's giving personal assistant but for your database 🫶

at the scheduled time, this utility will first run the optional pre-scheduler plugin (peep the Pre-Scheduler section) to figure out the system load before it actually runs the backup. and if there's no pre-scheduler plugin? it just goes straight to running the backup. no thoughts, head empty, backup 💀

mysql‐zrm‐scheduler also implements the backup retention policy and purges backup files. by default, the backup image purge action happens at 4:00am every single day. for the deets, go look at the mysql‐zrm‐backup(1) ‐‐retention‐policy parameter. iykyk ✨

and when you pass the ‐‐now option? the mysql‐zrm‐scheduler utility runs mysql‐zrm immediately. no waiting, no queue, we're doing this right now queen 👑


👑 OPTIONS 👑

  • ‐‐add — adds a mysql‐zrm backup run to the schedule, based on the time you specified with the other options. pop off 🎀
  • ‐‐delete — deletes a scheduled backup run. use the ‐‐start option to delete a scheduled run with a specific time.
  • ‐‐query — displays a list of the backup runs you've got scheduled. show me the receipts 📋
  • ‐‐interval interval — valid options are daily, weekly or monthly. default: weekly.
  • ‐‐now — immediately do the backup of MySQL. right. now. ⚡
  • ‐‐backup‐set name — specify the backup set name for the backup run. default is BackupSet1.
  • ‐‐backup‐level Level — choose 0 for a full backup. choose 1 for an incremental backup. default is 0.
  • ‐‐start‐time start time — start time for the backup run in HH:MM format. the default values are 00:00 for monthly, 02:00 for weekly and 03:00 for daily interval.
  • ‐‐day‐of‐week day of week — the value used with the weekly interval to specify the day(s) of the week. use a single number from 0‐6 (0=Sunday, 6=Saturday), or a range of two numbers separated with a hyphen.

example: 1, to start on Monday 0‐2, to start on Sunday, Monday and Tuesday.

default value is 0 (Sunday).

  • ‐‐day‐of‐month day of month — the value used with the monthly interval to specify the day(s) of the month. use a single number from 1‐31 or a range of two numbers separated with a hyphen. the interval must be set to "monthly" to use this option.

example: 2, to start on second day of the month 10‐12, to start on the 10th, 11th and 12th day of the month. default value is 1 (first day of the month).

  • ‐‐help — display help message and exits. we love a helpful icon 💖

🧚 Pre‐Scheduler 🧚

the pre-scheduler plugin has to be specified in mysql‐zrm.conf(5).

mysql‐zrm‐scheduler calls the specified pre-scheduler plugin before the scheduled MySQL backup run. the plugin should return "0" to continue and perform the MySQL backup run immediately. it should return "n" where n is a positive integer smaller or equal to 11 to delay the MySQL backup run by "n" hour(s) from the current time.

returning any number greater than "11" would skip the scheduled MySQL backup run. bye bestie 😭

mysql‐zrm‐scheduler skips the daily backup run if the pre-scheduler plugin does not find a suitable time (return "0" or "n") in 24 hours (from the initial scheduled start time).

for weekly or monthly backup run, mysql‐zrm‐scheduler will perform a backup run at the end of the 24 hours (from the initial scheduled start time) even if the pre-scheduler plugin have not found a suitable time in the 24 hours cycle.

the pre-scheduler plugin is used to tell mysql‐zrm if a backup should happen at a particular time.

it is to be customized by the user to control if at the scheduled time a backup should run or not. for example: a user has scheduled backups to happen every night at midnight. but he wants to do delay the backup if the number of users in the system is more than 5. for this the user needs to write a pre-scheduler script that can determine how many users are there in the system and inform the scheduler to go ahead and do backup or delay the backup. slay, you got this 💪


🌈 EXAMPLES 🌈

to schedule a daily mysql‐zrm run that starts at 1:35pm:

# mysql‐zrm‐scheduler ‐‐add ‐interval daily ‐‐start 13:35

to schedule a weekly mysql‐zrm run on Tuesday and Wednesday:

# mysql‐zrm‐scheduler ‐‐add ‐interval weekly ‐‐day‐of‐week 2‐3

to schedule a monthly mysql‐zrm run on the tenth day of each month:

# mysql‐zrm‐scheduler ‐‐add ‐‐interval monthly ‐‐day‐of‐month 10

to query scheduled runs:

# mysql‐zrm‐scheduler ‐‐query

35  13  *  *  * /usr/bin/zrm‐pre‐scheduler ‐‐action backup ‐‐backup‐set BackupSet1 ‐‐interval daily

0  2 * * 2‐3  /usr/bin/zrm‐pre‐scheduler  ‐‐action  backup ‐‐backup‐set BackupSet1  ‐‐interval weekly

0  0  10  *  *  /usr/bin/zrm‐pre‐scheduler ‐‐action backup ‐‐backup‐set BackupSet1 ‐‐interval monthly

to delete a daily mysql‐zrm run with specific start time:

# mysql‐zrm‐scheduler ‐‐delete  ‐‐interval  daily  ‐‐start 08:20

🍓 FILES 🍓

  • /var/lib/mysql‐zrm — directory under which all backup data is stored.
  • /etc/mysql‐zrm/backup set name/mysql‐zrm.conf — configuration file read by mysql‐zrm utility.

⭐ RETURN VALUES ⭐

on success, zero is returned. on error, a non-zero value is returned. simple as that ✨


💜 SEE ALSO 💜

mysql‐zrm(1), mysql‐zrm‐backup(1), mysql‐zrm‐manage‐backup(1), mysql‐zrm‐restore(1), mysql‐zrm‐check(1), mysql‐zrm‐list(1), mysql‐zrm‐getconf(1), mysql‐zrm‐setconf(1), mysql‐zrm‐parse‐binlogs(1), mysql‐zrm‐purge(1), mysql‐zrm‐extract‐backup(1), mysql‐zrm‐verify‐backup(1), mysql‐zrm‐abort‐backup(1), mysql‐zrm.conf(5), mysql‐zrm‐reporter(1), mysql(1), Zmanda Recovery Manager for MySQL (http://mysqlbackup.zmanda.com/)


🎀 AUTHOR 🎀

Zmanda Inc. (http://www.zmanda.com)


and that's the whole page bestie, no cap 💅 this one's brought to you by Zmanda, Inc. — ZRM for MySQL, mysql‐zrm‐scheduler(1) — go forth and schedule your backups, you absolute main character 👑🦋✨

📦 where this page comes from