backintime icon indicating copy to clipboard operation
backintime copied to clipboard

[Elementary] BiT completes a new snapshot every 15 minutes when using anacron

Open ayoungethan opened this issue 2 years ago • 7 comments

$ uname -a Linux NanoQubeeOS 5.13.0-30-lowlatency #33~20.04.1-Ubuntu SMP PREEMPT Mon Feb 7 15:23:11 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

OS: Elementary 6.1 Jolnir (based on Ubuntu LTS 20.04)

Under "schedule" I have selected "repeatedly" (anacron) and specified every 2 hours. However, since doing this, my snapshots are accumulating at a rate of every 15 minutes. Eg, 11:45, 12:00, 12:15, 12:30, etc etc.

$ crontab -l #Back In Time system entry, this will be edited by the gui: */15 * * * * /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime backup-job >/dev/null

ayoungethan avatar Feb 25 '22 18:02 ayoungethan

I'm trying to reproduce this problem, could you please tell me: How did you install backintime in Elementary? It doesn't seem to be available in Elementary's "app-store". Did you add the Ubuntu PPA manually?

emtiu avatar Sep 14 '22 16:09 emtiu

I believe that I had added and installed from the PPA, yes, but it was several months ago and I don't have my installation notes. I would have followed the installation instructions available here: https://github.com/bit-team/backintime/#installation

ayoungethan avatar Sep 14 '22 16:09 ayoungethan

I'm also having general troubles with certain background administrative tasks and processes with a second (standard, non-administrative) user account activated. I don't know if this is another one of those problems (e.g., which account checks for updates, fighting over bluetooth control, inability to suspend the computer, etc) or a condition for reproducing the problem.

ayoungethan avatar Sep 14 '22 16:09 ayoungethan

Thanks, I've managed to install backintime from the PPA, and will be able to test things. (Not soon, but eventually :))

emtiu avatar Sep 14 '22 17:09 emtiu

Okay, here's what's supposed to happen with the schedule set to "Repeatedly (anacron)" mode:

  1. backintime backup-job is called every 15 minutes (this is what you see in your crontab)
  2. backintime checks a file in $HOME/.local/share/backintime/anacron/. The file it checks is named like 1_Main_profile, or accordingly for other backintime profiles (e.g. 3_remote).
  3. The file contains the date and time that a snapshot was last taken. If the interval you have specified in the settings (e.g. "Every 1 day") has not yet passed, then no snapshot will be taken.

I have tested this in a VM running Elementary, and it seems to be working as intended.

My best guess is that in your case, the file(s) in $HOME/.local/share/backintime/anacron/ are somehow not readable, not writable, have invalid names, or simply don't exist.

We'll probably learn more if you take a look at that folder, the files inside and their contents. Do they change when you run backintime backup-job? Is the date+time saved inside correct? Thanks for checking :)

emtiu avatar Sep 14 '22 21:09 emtiu

I had long since removed backintime and returned to Duplicity + Deja-Dup since it has an integrated filesystem navigator now. I'll need to reinstall backintime to check these things. I think I can do that this week.

The thing that confuses me is that even if those files were missing, misnamed, or not readable or writable, the program itself should check for that and NOT blindly run backups over and over again. Could this be a sandboxing issue?

On Wed, Sep 14, 2022 at 4:37 PM Michael Büker @.***> wrote:

Okay, here's what's supposed to happen with the schedule set to "Repeatedly (anacron)" mode:

  1. backintime backup-job is called every 15 minutes (this is what you see in your crontab)
  2. backintime checks a file in $HOME/.local/share/backintime/anacron/. The file it checks is named like 1_Main_profile, or accordingly for other backintime profiles (e.g. 3_remote).
  3. The file contains the date and time that a snapshot was last taken. If the interval you have specified in the settings (e.g. "Every 1 day") has not yet passed, then no snapshot will be taken.

I have tested this in a VM running Elementary, and it seems to be working as intended.

My best guess is that in your case, the file(s) in $HOME/.local/share/backintime/anacron/ are somehow not readable, not writable, have invalid names, or simply don't exist.

We'll probably learn more if you take a look at that folder, the files inside and their contents. Do they change when you run backintime backup-job? Is the date+time saved inside correct? Thanks for checking :)

— Reply to this email directly, view it on GitHub https://github.com/bit-team/backintime/issues/1228#issuecomment-1247327529, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACIUXLNZWUNYUC7ZU3EDZQLV6JASTANCNFSM5PK7XWEA . You are receiving this because you authored the thread.Message ID: @.***>

ayoungethan avatar Sep 19 '22 01:09 ayoungethan

I had long since removed backintime and returned to Duplicity + Deja-Dup since it has an integrated filesystem navigator now. I'll need to reinstall backintime to check these things. I think I can do that this week.

That's great, thanks :)

The thing that confuses me is that even if those files were missing, misnamed, or not readable or writable, the program itself should check for that and NOT blindly run backups over and over again. Could this be a sandboxing issue?

That's a good point. From glancing at the code, it looks like there isn't any sort of check: https://github.com/bit-team/backintime/blob/88d19d42e9128f60b8952a64ed1fff23bd28108f/common/config.py#L1376-L1378

Then again, backintime reasonably assumes that the anacron timestamp files exist, because it creates them with every snapshot run (even when run from crontab, or manually). So we're back to wondering why this fails for you :)

emtiu avatar Sep 19 '22 06:09 emtiu