Re: not excluding socket dir?

Joe Steele <[email protected]>
Newsgroups gmane.comp.sysutils.backup.rdiff-backup.general
Message-ID <[email protected]>
Derek:

After running your backup with the exclusion, have you looked in 
/mnt/backup/backups/mail/var/lib/imap/ to see if the socket directory 
was, in fact, excluded?  My guess is that it is not there.

My guess is that you first made a backup without the '--exclude 
/mnt/snap/var/lib/imap/socket' exclusion, and then you added the 
exclusion later.  I'm also assuming that you are using v1.2.8.  (Newer 
v2.0 should not have the problem.)

The first backup of a socket can succeed without error whereas 
subsequent backups can generate the warning whenever the socket is 
either changed or removed (or in your case, excluded).  Details for why 
this can occur are given in a bug report of mine from 2009:

https://savannah.nongnu.org/bugs/?func=detailitem&item_id=26847

My guess is that the warning will only appear the first time after you 
have added the exclusion.  After that, the warning should no longer 
appear for the excluded socket.  But if you wish, you can apply the 
patch contained in the bug report to prevent the problem in the future.

As Eric noted, there is no real value in backing up sockets.  In fact, 
the tar command never backs up sockets.

--Joe


On 5/9/2020 2:01 AM, EricZolf wrote:
> Hi Derek,
> 
> On 08/05/2020 02:31, Derek Atkins wrote:
>> Hi,
>>
>> I am trying to backup a mail server but it's complaining about a socket
>> error..  BUT I thought I was excluding that directory.  The command I'm
>> using:
>>
>> /usr/bin/rdiff-backup --exclude /mnt/snap/dev --exclude
>> /mnt/snap/lost+found --exclude /mnt/snap/media --exclude /mnt/snap/mnt
>> --exclude /mnt/snap/proc --exclude /mnt/snap/run --exclude /mnt/snap/sys
>> --include /mnt/snap/var/www --include /mnt/snap/var/spool/imap --include
>> /mnt/snap/var/spool/mail --include /mnt/snap/var/spool/postfix --include
>> /mnt/snap/var/spool/rsvp --include /mnt/snap/var/lib/postfix --exclude
>> /mnt/snap/var/lib/imap/socket --include /mnt/snap/var/lib/imap --include
>> /mnt/snap/var/lib/squirrelmail --include /mnt/snap/var/spool/cron
>> --include /mnt/snap/usr/local --exclude /mnt/snap/bin --exclude
>> /mnt/snap/lib --exclude /mnt/snap/lib64 --exclude /mnt/snap/sbin --exclude
>> /mnt/snap/tmp --exclude /mnt/snap/usr --exclude /mnt/snap/var
>> mail_backup::/mnt/snap/ /mnt/backup/backups/mail
>>
>> And I get this output:
>>
>> SpecialFileError var/lib/imap/socket/idle.10314 Socket error: AF_UNIX path
>> too long
>> SpecialFileError var/lib/imap/socket/idle.10325 Socket error: AF_UNIX path
>> too long
>> [snip]
>>
>> Aren't I excluding the directory properly?
> 
> I don't know, I tried to re-create your issue locally, with the attached
> script, and I don't get any error message, and the socket file and its
> directory I create aren't backed-up:
> 
> 
> $ tree /var/tmp/snap
> /var/tmp/snap
> └── var
>      └── lib
>          └── imap
>              └── socket
>                  └── idle.12345
> 
> 4 directories, 1 file
> 
> 
> $ tree /var/tmp/backup
> /var/tmp/backup
> └── backups
>      └── mail
>          ├── rdiff-backup-data
>          │   ├── access_control_lists.2020-05-09T07:36:39+02:00.snapshot
>          │   ├── backup.log
>          │   ├── chars_to_quote
>          │   ├── current_mirror.2020-05-09T07:36:39+02:00.data
>          │   ├── error_log.2020-05-09T07:36:39+02:00.data
>          │   ├── extended_attributes.2020-05-09T07:36:39+02:00.snapshot.gz
>          │   ├── file_statistics.2020-05-09T07:36:39+02:00.data.gz
>          │   ├── increments
>          │   │   └── var
>          │   │       └── lib
>          │   ├── mirror_metadata.2020-05-09T07:36:39+02:00.snapshot.gz
>          │   ├── session_statistics.2020-05-09T07:36:39+02:00.data
>          │   └── special_escapes
>          └── var
>              └── lib
>                  └── imap
> 
> 9 directories, 10 files
> 
> 
> This is with 2.0.0 on Fedora 32. Which version(s) are you using on which
> OS(s)? There was an issue covered by a test called test_long_socket_name
> in testing/longnametest.py. You're actually rather far away from the
> limit of 107 characters, but it could still be your issue. Sockets are
> IMHO not worth being saved so you could use `--exclude-sockets`.
> 
> KR, Eric
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.