Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schedule not working after restore (Garuda Arch Linux) #1737

Closed
coffseducation opened this issue May 29, 2024 · 10 comments
Closed

Schedule not working after restore (Garuda Arch Linux) #1737

coffseducation opened this issue May 29, 2024 · 10 comments
Labels
Distro-Specific only for certain distributions, desktop environments or display servers Feedback needs user response, may be closed after timeout without a response Scheduling cron, anacron etc.

Comments

@coffseducation
Copy link

coffseducation commented May 29, 2024

I have restored my /home folder to a new sytem - Garuda Arch Linux from Kubuntu.
I retored the config and have the snapshots listed in the gui.
Opening the settings I see that my schedule is still set - but no backup happens at the allocated time.
Changing the time makes no difference either.

nb Manually activating snapshots works.

One thing I noticed is that the backup config file says the profile1 whereas in the gui the setting the profile is listed as 'Main profile'

How do I get the schedule to run again?

backintime --diagnostics
QSettings::value: Empty key passed
{
"backintime": {
"name": "Back In Time",
"version": "1.4.4-dev.73caea7b",
"running-as-root": false,
"latest-config-version": 6,
"local-config-file": "/home/UsernameReplaced/.config/backintime/config",
"local-config-file-found": true,
"global-config-file": "/etc/backintime/config",
"global-config-file-found": false,
"started-from": "/usr/share/backintime/common",
"user-callback": "/home/UsernameReplaced/.config/backintime/user-callback",
"keyring-supported": true
},
"host-setup": {
"OS": {
"/etc/os-release": "Garuda Linux",
"/etc/arch-release": "\n",
"/etc/lsb-release": "DISTRIB_ID=Garuda\nDISTRIB_RELEASE=Soaring\nDISTRIB_DESCRIPTION=\"Garuda Linux Bird of Prey\"\nDISTRIB_CODENAME=\"BirdOfPrey\"\n"
},
"platform": "Linux-6.9.2-zen1-1-zen-x86_64-with-glibc2.39",
"system": "Linux #1 ZEN SMP PREEMPT_DYNAMIC Sun, 26 May 2024 01:30:09 +0000",
"display-system": "x11",
"locale": "en_GB, UTF-8",
"PATH": "/home/UsernameReplaced/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl",
"RSYNC_OLD_ARGS": "(not set)",
"RSYNC_PROTECT_ARGS": "(not set)"
},
"python-setup": {
"python": "3.12.3 main Apr 23 2024 09:16:07 CPython GCC 13.2.1 20240417",
"python-executable": "/usr/bin/python3",
"python-executable-symlink": true,
"python-executable-resolved": "/usr/bin/python3.12",
"sys.path": [
"/usr/share/backintime/qt/plugins",
"/usr/share/backintime/common/plugins",
"/usr/share/backintime/plugins",
"/usr/share/backintime/common",
"/usr/lib/python312.zip",
"/usr/lib/python3.12",
"/usr/lib/python3.12/lib-dynload",
"/usr/lib/python3.12/site-packages"
],
"qt": {
"Version": "PyQt 6.7.0 / Qt 6.7.1",
"Theme": "korla",
"Theme Search Paths": [
"/home/UsernameReplaced/.local/share/icons",
"/var/lib/flatpak/exports/share/icons",
"/usr/share/icons",
"/home/UsernameReplaced/.icons",
":/icons"
],
"Fallback Theme": "breeze",
"Fallback Search Paths": []
}
},
"external-programs": {
"rsync": {
"version": "3.3.0",
"protocol": "31.0",
"capabilities": {
"file_bits": 64,
"inum_bits": 64,
"timestamp_bits": 64,
"long_int_bits": 64,
"socketpairs": true,
"symlinks": true,
"symtimes": true,
"hardlinks": true,
"hardlink_specials": true,
"hardlink_symlinks": true,
"IPv6": true,
"atimes": true,
"batchfiles": true,
"inplace": true,
"append": true,
"ACLs": true,
"xattrs": true,
"secluded_args": "optional",
"iconv": true,
"prealloc": true,
"stop_at": true,
"crtimes": false
},
"optimizations": {
"SIMD_roll": true,
"asm_roll": false,
"openssl_crypto": true,
"asm_MD5": false
},
"checksum_list": [
"xxh128",
"xxh3",
"xxh64",
"md5",
"md4",
"sha1",
"none"
],
"compress_list": [
"zstd",
"lz4",
"zlibx",
"zlib",
"none"
],
"daemon_auth_list": [
"sha512",
"sha256",
"sha1",
"md5",
"md4"
]
},
"ssh": "OpenSSH_9.7p1, OpenSSL 3.3.0 9 Apr 2024",
"sshfs": "3.7.3",
"encfs": "(no encfs)",
"shell": "/usr/bin/fish",
"shell-version": "fish, version 3.7.1"
}
}

@buhtz
Copy link
Member

buhtz commented May 29, 2024

Hello coffseducation ,

Thank you for taking the time to report the bug and providing the details. I appreciate your feedback.

´"version": "1.4.4-dev.73caea7b",`

How do you installed BIT?

One thing I noticed is that the backup config file says the profile1 whereas in the gui the setting the profile is listed as 'Main profile'

I don't understand this sentence. Can you please rephrase it?

How do I get the schedule to run again?

How was your schedule setup? There are a lot of options.

Please post the output crontab -l (but using the Code formatting feature of Microsoft GitHub to post it in monotype font face).

You could also have a look into the syslog. Maybe there you can see something.

If you have any more details to share, feel free to reach out.

Best regards,

@buhtz buhtz added Scheduling cron, anacron etc. Feedback needs user response, may be closed after timeout without a response labels May 29, 2024
@coffseducation
Copy link
Author

How do you installed BIT?

  • with Octopi
      |  
    -- | --
    URL | https://github.com/bit-team/backintime
    Version | 1.4.3.r31.g73caea7b-1
    Licences | GPL
    Provides | backintime
    Depends On | backintime-cli-git libnotify polkit python-dbus python-pyqt6 xorg-xdpyinfo
    Optional Deps | kompare : diff tool [installed]meld : diff tool [installed]python-secretstorage : store passwords [installed]
    Conflicts With | backintime
    Installed Size | 457.27 KiB
    Packager | Garuda Builder team@garudalinux.org
    Architecture | any
    Build Date | Sunday 28 April 2024 6:34:51 AM GMT+10
    Install Date | Monday 27 May 2024 11:27:26 AM GMT+10
    Install Reason | Explicitly installed

I don't understand this sentence. Can you please rephrase it?

How do I get the schedule to run again?

The schedule is not working. It was set for 21.00. It has not run since restore. I changed the time in settings to Midnight hoping to re-set it. It still did not run at the set time.

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

I cannot find /var/log/syslog*

@buhtz
Copy link
Member

buhtz commented May 29, 2024

Hello coffseducation,

it is a bit hard to follow your answers. Please try to use the formatting options of Microsoft GitHub comments and also use the inline-reply method to answer the same way as I do. Read and answer in the GitHub web front-end and not via email please. Otherwise I am unable to help you.

How do you installed BIT?

with Octopi
...
Version | 1.4.3.r31.g73caea7b-1
Depends On | backintime-cli-git ...
...
Conflicts With | backintime
...
Packager | Garuda Builder team@garudalinux.org

This looks wired. You somehow installed the latest (unstable! & unreleased!) development version of Back In Time. As we state in our install instruction this is discouraged and only for developers not for users. This version is unstable and theoretically you risk loosing your data.

What is "octopi"? To my knowledge it is a GNU Linux distribution for RaspberryPi. Garuda Arch Linux is an Arch-based distro where you usually use "pacman" to install packages.

Please contact the community of your GNU Linux distribution to find out how to install the latest stable release of Back In Time from the distributions official repository.

One thing I noticed is that the backup config file says the profile1 whereas in the gui the setting the profile is listed as 'Main profile'

I don't understand this sentence. Can you please rephrase it?

You have not answered this question.

It was set for 21.00.

This answer does not help. Which entry did you choose in the "Schedule" section on the "General" tab in the "Manage profiles" dialog?

I cannot find /var/log/syslog*

Please read again carefully. I also tried to improve this section of the FAQ with PR #1739 . Please see my draft. Is it clearer about how to read log entries?

EDIT: Note to myself. I verified that BIT does verify and update the crontab entries everytime it starts. So importing a config or just copy the config file from a previous installation wont't cause the problem. When BIT starts, it reads the schedule settings from config and write them to crontab if not yet present.

@coffseducation
Copy link
Author

coffseducation commented May 30, 2024

inline-reply method

Thanks for the link. It was for email and I am on the github site. Hopefully this is the correct method now.

This looks wired. You somehow installed the latest (unstable! & unreleased!) development version of Back In Time.

Yes, that was odd. I installed BiT with Octopi, which, yes, appears to use pacman as the package manager. Using the command line revealed a conflict which I removed. (I have rebooted and do not have the print, sorry!)
backintime --diagnostics now shows "version": "1.4.3",

You have not answered this question.

The BiT gui settings in General has a profile called, 'Main profile'
bit-settings-gui

Whereas in the config file located on my backup drive the profile appears to be listed as 'profile1'
Is that an issue?

config.version=6
global.use_flock=false
internal.manual_starts_countdown=4
profile1.qt.last_path=/home
profile1.qt.places.SortColumn=1
profile1.qt.places.SortOrder=SortOrder.AscendingOrder
profile1.qt.settingsdialog.exclude.SortColumn=1
profile1.qt.settingsdialog.exclude.SortOrder=SortOrder.AscendingOrder
profile1.qt.settingsdialog.include.SortColumn=1
profile1.qt.settingsdialog.include.SortOrder=SortOrder.AscendingOrder
profile1.schedule.custom_time=8,12,18,23
profile1.schedule.day=1
profile1.schedule.mode=20
profile1.schedule.repeatedly.period=1
profile1.schedule.repeatedly.unit=20
profile1.schedule.time=0
profile1.schedule.weekday=7
profile1.snapshots.backup_on_restore.enabled=true
profile1.snapshots.bwlimit.enabled=false
profile1.snapshots.bwlimit.value=3000
profile1.snapshots.continue_on_errors=true
profile1.snapshots.copy_links=false
profile1.snapshots.copy_unsafe_links=false
profile1.snapshots.cron.ionice=true
profile1.snapshots.cron.nice=true
profile1.snapshots.cron.redirect_stderr=false
profile1.snapshots.cron.redirect_stdout=true
profile1.snapshots.dont_remove_named_snapshots=true
profile1.snapshots.exclude.1.value=.gvfs
profile1.snapshots.exclude.2.value=.cache/*
profile1.snapshots.exclude.3.value=.thumbnails*
profile1.snapshots.exclude.4.value=.local/share/[Tt]rash*
profile1.snapshots.exclude.5.value=.backup
profile1.snapshots.exclude.6.value=*~
profile1.snapshots.exclude.7.value=.dropbox*
profile1.snapshots.exclude.8.value=/proc/*
profile1.snapshots.exclude.9.value=/sys/*
profile1.snapshots.exclude.10.value=/dev/*
profile1.snapshots.exclude.11.value=/run/*
profile1.snapshots.exclude.12.value=/etc/mtab
profile1.snapshots.exclude.13.value=/var/cache/apt/archives/.deb
profile1.snapshots.exclude.14.value=lost+found/

profile1.snapshots.exclude.15.value=/tmp/*
profile1.snapshots.exclude.16.value=/var/tmp/*
profile1.snapshots.exclude.17.value=/var/backups/*
profile1.snapshots.exclude.18.value=.Private
profile1.snapshots.exclude.19.value=/Backups
profile1.snapshots.exclude.bysize.enabled=false
profile1.snapshots.exclude.bysize.value=500
profile1.snapshots.exclude.size=19
profile1.snapshots.include.1.type=0
profile1.snapshots.include.1.value=/home
profile1.snapshots.include.size=1
profile1.snapshots.local.nocache=false
profile1.snapshots.local.password.save=false
profile1.snapshots.local.password.use_cache=true
profile1.snapshots.local_encfs.path=/Backups
profile1.snapshots.log_level=3
profile1.snapshots.min_free_inodes.enabled=true
profile1.snapshots.min_free_inodes.value=2
profile1.snapshots.min_free_space.enabled=true
profile1.snapshots.min_free_space.unit=20
profile1.snapshots.min_free_space.value=30
profile1.snapshots.mode=local
profile1.snapshots.no_on_battery=false
profile1.snapshots.notify.enabled=true
profile1.snapshots.one_file_system=false
profile1.snapshots.path=/Backups
profile1.snapshots.path.host=Vampa
profile1.snapshots.path.profile=1
profile1.snapshots.path.user=root
profile1.snapshots.preserve_acl=false
profile1.snapshots.preserve_xattr=false
profile1.snapshots.remove_old_snapshots.enabled=true
profile1.snapshots.remove_old_snapshots.unit=80
profile1.snapshots.remove_old_snapshots.value=10
profile1.snapshots.rsync_options.enabled=false
profile1.snapshots.rsync_options.value=
profile1.snapshots.smart_remove=false
profile1.snapshots.smart_remove.keep_all=2
profile1.snapshots.smart_remove.keep_one_per_day=7
profile1.snapshots.smart_remove.keep_one_per_month=24
profile1.snapshots.smart_remove.keep_one_per_week=4
profile1.snapshots.smart_remove.run_remote_in_background=false
profile1.snapshots.ssh.check_commands=true
profile1.snapshots.ssh.check_ping=true
profile1.snapshots.ssh.cipher=default
profile1.snapshots.ssh.host=
profile1.snapshots.ssh.ionice=false
profile1.snapshots.ssh.nice=false
profile1.snapshots.ssh.nocache=false
profile1.snapshots.ssh.path=
profile1.snapshots.ssh.port=22
profile1.snapshots.ssh.prefix.enabled=false
profile1.snapshots.ssh.prefix.value=PATH=/opt/bin:/opt/sbin:$PATH
profile1.snapshots.ssh.private_key_file=/home/anarcho/.ssh/id_rsa
profile1.snapshots.ssh.user=root
profile1.snapshots.take_snapshot_regardless_of_changes=false
profile1.snapshots.use_checksum=false
profile1.snapshots.user_backup.ionice=false
profiles.version=1
qt.last_path=/home
qt.logview.height=500
qt.logview.width=800
qt.main_window.files_view.date_width=69
qt.main_window.files_view.name_width=69
qt.main_window.files_view.size_width=69
qt.main_window.files_view.sort.ascending=true
qt.main_window.files_view.sort.column=0
qt.main_window.height=910
qt.main_window.main_splitter_left_w=430
qt.main_window.main_splitter_right_w=912
qt.main_window.second_splitter_left_w=295
qt.main_window.second_splitter_right_w=594
qt.main_window.width=1349
qt.main_window.x=736
qt.main_window.y=315
qt.show_hidden_files=false

This answer does not help
Hopefully the screenshot above helps explain.

Please read again carefully.

journalctl --identifier backintime did not print anything before but now works - due to the conflict removal?.

journalctl --identifier backintime
May 29 23:43:44 Vampa backintime[26783]: DEBUG: [common/backintime.py:613 argParse] Used argument(s): {'debug': True, 'quiet': False}
May 29 23:43:44 Vampa backintime[26783]: DEBUG: [common/backintime.py:614 argParse] Unknown argument(s): []
May 29 23:43:44 Vampa backintime[26783]: DEBUG: [common/backintime.py:513 startApp] backintime: {'name': 'Back In Time', 'version': '1.4.4-dev.73caea7b', 'running-as-root': False}
May 29 23:43:44 Vampa backintime[26783]: DEBUG: [common/backintime.py:513 startApp] host-setup: {'OS': {'/etc/os-release': 'Garuda Linux', '/etc/arch-release': '\n', '/etc/lsb-release': 'DISTRIB_ID=Garuda\nDISTRIB_RELEASE=Soaring\nDIS>
May 29 23:43:44 Vampa backintime[26783]: Main profile(1) :: DEBUG: [common/configfile.py:591 Config.setCurrentProfile] Change current profile: 1=Main profile
May 29 23:43:44 Vampa backintime[26783]: Main profile(1) :: DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
May 29 23:43:44 Vampa backintime[26783]: Main profile(1) :: DEBUG: [common/backintime.py:696 getConfig] config file: /home/anarcho/.config/backintime/config
May 29 23:43:44 Vampa backintime[26783]: Main profile(1) :: DEBUG: [common/backintime.py:697 getConfig] share path: /home/anarcho/.local/share/backintime
May 29 23:43:44 Vampa backintime[26783]: Main profile(1) :: DEBUG: [common/backintime.py:698 getConfig] profiles: 1=Main profile
May 30 00:16:06 Vampa backintime[29204]: Main profile(1) :: INFO: Lock
May 30 00:16:06 Vampa backintime[29204]: Main profile(1) :: INFO: Take a new snapshot. Profile: 1 Main profile
May 30 00:16:06 Vampa backintime[29204]: Main profile(1) :: INFO: Call rsync to take the snapshot
May 30 00:23:34 Vampa backintime[29204]: Main profile(1) :: INFO: Save config file
May 30 00:23:34 Vampa backintime[29204]: Main profile(1) :: INFO: Save permissions
May 30 00:24:36 Vampa backintime[29204]: Main profile(1) :: INFO: Create info file
May 30 00:24:38 Vampa backintime[29204]: Main profile(1) :: INFO: Unlock

Apologies for bad formatting and thanks for your patience. Please let me know if corrections or more info is needed.
Thanks.

@buhtz
Copy link
Member

buhtz commented May 30, 2024

Please set the schedule to "Every hour", report again crontab -l and observe the behavior of BIT in the syslog (e.g. via journalctl -f --identifier backintime).

I am assuming the scheduling is OK, but when BIT runs there might be some errors. You will see them in the syslog then.

EDIT:

The BiT gui settings in General has a profile called, 'Main profile'
...
Whereas in the config file located on my backup drive the profile appears to be listed as 'profile1'
Is that an issue?

The string "profile1" in the config file is the name of a variable and not of the profile itself. Not an issue.

EDIT2: Octopi seems to be a graphical front-end for pacman.

@coffseducation
Copy link
Author

journalctl -f --identifier backintime

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

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

I set this in the root version of BiT. Note the 13!

I checked the non-root version and it was set for 13:00!
Changing it to hour 5 in the non-root version gives:
crontab -l
#Back In Time system entry, this will be edited by the gui:
0 5 * * * /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime backup-job >/dev/null

Changing it to 5 min in the non-root version gives:
crontab -l
#Back In Time system entry, this will be edited by the gui:
*/5 * * * * /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime backup-job >/dev/null

The non-root version is the only version making changes.
No version however will run the scheduler.
Changes in root or non-root BiT have not effect.

journalctl -f --identifier backintime

No print.

I then removed all config files:
root
.config
.local

and restarted BiT root. I imported the config.
The snapshot list populates.
Schedule still does not work.

crontab -l

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

journalctl -f --identifier backintime

May 30 22:48:31 Vampa backintime[16046]: Main profile(1) :: ERROR: pidfile /root/.local/share/backintime/password_cache/PID already exists. Daemon already running?

@buhtz
Copy link
Member

buhtz commented May 30, 2024

Maybe Garuda Arch Linux is one of the distros where Cron does exist but is disabled by default. Please contact the folks of your distro to be sure. Have a look at this forum posting: https://forum.garudalinux.org/t/cron-installed-but-not-enabled/26016

Add this line to your crontab (via crontab -e)

* * * * * echo "Cron is running" >> /tmp/cron_test.log

After one minute you should see "Cron is running" entries in the file /tmp/cron_test.log.

Post the output of the following commands please:

$ ps aux | grep cron
$ systemctl status cron
$ systemctl status crond

I assuming that Cron does not run on your system. Please open a ticket at your distros package manager and describe the problem. She/he need to decide how to handle it. A running Cron instance is a dependency for Back In Time. So it is a bug in your Distro and not on our site.

@buhtz buhtz added the Distro-Specific only for certain distributions, desktop environments or display servers label May 30, 2024
@buhtz buhtz changed the title Schedule not working after restore. Schedule not working after restore (Garuda Arch Linux) May 30, 2024
@coffseducation
Copy link
Author

          • echo "Cron is running" >> /tmp/cron_test.log

ps aux | grep cron
root 5781 0.0 0.0 17876 9476 pts/2 S+ 01:24 0:00 sudo nano crontab.f6ETFr
root 5785 0.0 0.0 17876 2528 pts/3 Ss 01:24 0:00 sudo nano crontab.f6ETFr
root 5786 0.0 0.0 8088 5552 pts/3 S+ 01:24 0:00 nano crontab.f6ETFr
anarcho 5935 0.0 0.0 10692 5736 pts/0 S+ 01:26 0:00 ugrep --color=auto cron

systemctl status cron

systemctl status cron
Unit cron.service could not be found.

systemctl status crond

No print

@coffseducation
Copy link
Author

RESOLVED ✅

systemctl start cronie.service

Thanks!

@buhtz
Copy link
Member

buhtz commented May 30, 2024

Again I strongly recommend not to use an Arch based distribution. The Back In Time version your distribution offers you is not maintained by Arch or Garuda. And it is buggy because install BIT should activate cron. Try Debian based distro. There you have well maintained packages.

btw: I am even not able to start the installer of Garuda on a VirtualBox VM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Distro-Specific only for certain distributions, desktop environments or display servers Feedback needs user response, may be closed after timeout without a response Scheduling cron, anacron etc.
Projects
None yet
Development

No branches or pull requests

2 participants