Hourly scheduled snapshots dont run? Overdue since 2 hours on hourly interval

Hey everyone,

today i got my Kopia Repository Server running and added a client to it. How i done this is documented here:

I created the global policy before starting the first snapshot manually with:

kopia repository connect server --url=https://my.kopia.srv.ip:51515 --server-cert-fingerprint MYWONDERFULFINGERPRINT

Here is my global policy:

{
  "retention": {
    "keepLatest": 10,
    "keepHourly": 24,
    "keepDaily": 14,
    "keepWeekly": 8,
    "keepMonthly": 12,
    "keepAnnual": 5,
    "ignoreIdenticalSnapshots": true
  },
  "files": {
    "ignore": [
      "proc/",
      "sys/",
      "dev/",
      "run/",
      "tmp/",
      "var/run/",
      "var/lock/",
      "var/run",
      "var/lock",
      "var/log/",
      "var/backups/",
      "var/lib/",
      "var/local/",
      "var/opt/",
      "var/tmp/",
      "var/cache/",
      "mnt/",
      "media/",
      "lost+found/",
      "swap/",
      "boot/",
      "bin",
      "bin/",
      "sbin",
      "sbin/",
      "initrd.img",
      "initrd.img.old",
      "lib/",
      "lib64/",
      "lib",
      "lib64",
      "vmlinuz",
      "vmlinuz.old",
      "usr/"
    ],
    "ignoreDotFiles": [
      ".kopiaignore"
    ]
  },
  "errorHandling": {
    "ignoreFileErrors": false,
    "ignoreDirectoryErrors": false,
    "ignoreUnknownTypes": true
  },
  "scheduling": {
    "intervalSeconds": 3600,
    "runMissed": true
  },
  "compression": {
    "compressorName": "zstd",
    "neverCompress": [
      ".7z",
      ".bz2",
      ".gif",
      ".gz",
      ".iso",
      ".jpeg",
      ".jpg",
      ".mkv",
      ".mp3",
      ".mp4",
      ".ogg",
      ".png",
      ".tar",
      ".xz",
      ".zip"
    ]
  },
  "metadataCompression": {
    "compressorName": "zstd-fastest"
  },
  "splitter": {},
  "actions": {},
  "osSnapshots": {
    "volumeShadowCopy": {
      "enable": 0
    }
  },
  "logging": {
    "directories": {
      "snapshotted": 5,
      "ignored": 5
    },
    "entries": {
      "snapshotted": 0,
      "ignored": 5,
      "cacheHit": 0,
      "cacheMiss": 0
    }
  },
  "upload": {
    "maxParallelSnapshots": 5,
    "maxParallelFileReads": 16,
    "parallelUploadAboveSize": 2147483648
  }
}

As we can see:

  "scheduling": {
    "intervalSeconds": 3600,
    "runMissed": true
  },

the schedule is set to 3600 seconds (1 hour) and runMissed to true.

But my client had his last backup before 2 hours (the first manual one), is shown as overdue and it seems like the snapshot creation isnt running.

So as i’m absolutely new to this, i just installed kopia on the client, connected the repository server and run the snapshot once manually. I thought it will run now itself from the policy shown.

In which direction is this going? Misconfiguration, missing configuration or expected behavior?

Snashot scheduling only works with the GUI. If the client is connected by CLI you need to setup scheduling yourself.

With this policy Kopia will run a snapshot task but discard it if no changes are found. The “Last Snapshot” column in the UI shows when a snapshot was sucuessfully saved but not when it was run. This information is shown in the “Tasks” tab. Do you see any entries there?

As we are using it to backup our server infrastructure on file-basis we do not using the GUI. We just use the CLI on the clients and the CLI/WebUI on the repository server.

When scheduling only works when using GUI on all clients and on the server, it’s not that problem - then we will deploy cronjobs on the nodes to create the snapshots on daily basis. But important questions - do they still follow the global policy regarding maximum simultaneous snapshots on uploads? So we would push the same cronjob with the same time to all nodes, but do they put themself into something like a queue? Or do they fail? Or do they ignore the maximum simultaneous uploads?

Nope, i only see the repository opening task - nothing else. Not even the manually created snapshot on the client, but which is available within the repository.

To be honest - I don’t know. We are using systemd timers with RandomizedDelaySec=15m which so far didn’t cause any issues regarding load. But there aren’t more than 2 dozens of client connected to the same repository.

The UI on the server probably isn’t showing remote tasks.

Regarding snapshots: Do you see a dropdown to switch from local snapshots to all snapshots (kopia snap list --all on CLI)? Kopia by default only shows own snapshots.