{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "rsnapshot Configuration", "type": "object", "properties": { "rsnapshot_ssh_private_key": { "type": "string", "description": "Name of the SSH private key for backups" }, "rsnapshot_snapshot_root": { "type": "string", "description": "Root directory where all snapshots will be stored" }, "rsnapshot_retains": { "type": "object", "description": "Backup retains intervals", "properties": { "hourly": { "type": "integer", "minimum": 1 }, "daily": { "type": "integer", "minimum": 1 }, "weekly": { "type": "integer", "minimum": 1 }, "monthly": { "type": "integer", "minimum": 1 } }, "required": ["hourly", "daily", "weekly", "monthly"] }, "rsnapshot_verbose": { "type": "integer", "minimum": 1, "maximum": 5, "description": "Verbosity level of the output (1-5)" }, "rsnapshot_loglevel": { "type": "integer", "minimum": 1, "maximum": 5, "description": "Log level of the output (1-5)" }, "rsnapshot_logfile": { "type": "string", "description": "Path to the logfile" }, "rsnapshot_link_dest": { "type": "integer", "enum": [0, 1], "description": "Whether to use --link-dest with rsync (0 or 1)" }, "rsnapshot_sync_first": { "type": "integer", "enum": [0, 1], "description": "Whether to sync first (0 or 1)" }, "rsnapshot_numtries": { "type": "integer", "minimum": 1, "description": "Number of rsync retries" }, "rsnapshot_backup_scripts": { "type": "array", "description": "List of backup scripts", "items": { "type": "string" } }, "rsnapshot_backups": { "type": "array", "description": "List of backup configurations", "items": { "type": "object", "properties": { "remote": { "type": "object", "properties": { "user": { "type": "string", "description": "Remote user" }, "host": { "type": "string", "description": "Remote host" }, "paths": { "type": "array", "items": { "type": "string" }, "description": "Paths to back up on the remote host" } }, "required": ["user", "host", "paths"] }, "local": { "type": "string", "description": "Local path to store backups" } }, "required": ["remote", "local"] } } }, "required": [ "rsnapshot_snapshot_root", "rsnapshot_retains", "rsnapshot_verbose", "rsnapshot_loglevel", "rsnapshot_logfile", "rsnapshot_link_dest", "rsnapshot_sync_first", "rsnapshot_numtries", "rsnapshot_backup_scripts", "rsnapshot_backups" ] }