Hangs on pipes defined by supervise/runit #442

Closed
opened 2021-08-19 14:11:05 +00:00 by BastienDurel · 3 comments

What I'm trying to do and why

I'm trying to backup my /etc

In /etc, there are some services supervised by daemontools/svc/runit

Steps to reproduce (if a bug)

Have a directory to backup with some supervise bits inside. eg:

# ls -l /etc/knot/external/log/supervise/
total 4
prw------- 1 root root  0  1 août   2017 control
-rw------- 1 root root  0 30 mai    2014 lock
prw------- 1 root root  0 30 mai    2014 ok
-rw-r--r-- 1 root root 18  1 août   2017 status

Exclude supervise/control & supervise/ok to be sure it won't interfere

    exclude_patterns:
        - supervise/control
        - supervise/ok

Actual behavior (if a bug)

borg tries to include these files, and hangs forever

strace: Process 1378393 attached
openat(AT_FDCWD, "/etc/knot/external/log/supervise/control", O_RDONLY|O_NOATIME|O_CLOEXEC
^Cstrace: Process 1378393 detached
 <detached ...>

Expected behavior (if a bug)

borg should ignre these files

Environment

Note this behaviour was not present on debian 10, even with the backported version 1.5.1-1 I was using before migration

borgmatic version: 1.5.13.dev0

borgmatic installation method: Debian package

Borg version: 1.1.16

Python version: Python 3.9.2

operating system and version: Debian 11

#### What I'm trying to do and why I'm trying to backup my /etc In /etc, there are some services supervised by daemontools/svc/runit #### Steps to reproduce (if a bug) Have a directory to backup with some supervise bits inside. eg: ``` # ls -l /etc/knot/external/log/supervise/ total 4 prw------- 1 root root 0 1 août 2017 control -rw------- 1 root root 0 30 mai 2014 lock prw------- 1 root root 0 30 mai 2014 ok -rw-r--r-- 1 root root 18 1 août 2017 status ``` Exclude supervise/control & supervise/ok to be sure it won't interfere ``` exclude_patterns: - supervise/control - supervise/ok ``` #### Actual behavior (if a bug) borg tries to include these files, and hangs forever ``` strace: Process 1378393 attached openat(AT_FDCWD, "/etc/knot/external/log/supervise/control", O_RDONLY|O_NOATIME|O_CLOEXEC ^Cstrace: Process 1378393 detached <detached ...> ``` #### Expected behavior (if a bug) borg should ignre these files #### Environment Note this behaviour was not present on debian 10, even with the backported version 1.5.1-1 I was using before migration **borgmatic version:** 1.5.13.dev0 **borgmatic installation method:** Debian package **Borg version:** 1.1.16 **Python version:** Python 3.9.2 **operating system and version:** Debian 11
Owner

I think what's going on here is that the exclude patterns aren't actually matching the files in question!

Using globs to match any path that ends with a particular pattern might work better:

exclude_patterns:
    - '*/supervise/control'
    - '*/supervise/ok'

Alternatively, you could use the whole absolute path. More details about patterns are available in the Borg docs.

Please give one of those a shot and let me know if it solves the problem for you. Thanks!

I *think* what's going on here is that the exclude patterns aren't actually matching the files in question! Using globs to match any path that ends with a particular pattern might work better: ```yaml exclude_patterns: - '*/supervise/control' - '*/supervise/ok' ``` Alternatively, you could use the whole absolute path. More details about patterns are available in the [Borg docs](https://borgbackup.readthedocs.io/en/stable/usage/create.html#description). Please give one of those a shot and let me know if it solves the problem for you. Thanks!
Author

You're right, globbing works. Thanks :)

You're right, globbing works. Thanks :)
Owner

Awesome, glad to hear it!

Awesome, glad to hear it!
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: borgmatic-collective/borgmatic#442
No description provided.