I am trying to schedule a backup job for users' directories on a Linux desktop workstation. We utilize a network cloud storage solution called Seafile, and the Linux desktop utility that gives users access to their files creates and mounts to a directory, typically named "SeaDrive".
The directory in question as seen by the owner:
0 drwxr-xr-x 2 troy troy 4.0K Jan 2 17:16 SeaDrive
However, to the root user, it looks like this:
? d????????? ? ? ? ? ? SeaDrive
If root tries to stat that directory, it throws a permission error:
stat: cannot stat '/home/troy/SeaDrive': Permission denied
However, the owner can stat that directory just fine:
troy@neon-desktop:~$ stat SeaDrive
File: SeaDrive
Size: 4096 Blocks: 0 IO Block: 4096 directory
Device: 35h/53d Inode: 1 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ troy) Gid: ( 1000/ troy)
Access: 1969-12-31 18:00:00.000000000 -0600
Modify: 2022-01-02 17:16:42.000000000 -0600
Change: 1969-12-31 18:00:00.000000000 -0600
Birth: -
During a backup, I keep getting this error and as a result, the backup fails.
root@neon-desktop:~# proxmox-backup-client backup homedir.pxar:/home/troy --exclude /home/troy/SeaDrive/ --backup-id neon-homedirs
Starting backup: host/neon-homedirs/2022-01-25T19:17:44Z
Client name: neon-desktop
Starting backup protocol: Tue Jan 25 13:17:44 2022
No previous manifest available.
Upload directory '/home/troy' to 'pbs.mydomain.org PBS' as homedir.pxar.didx
catalog upload error - channel closed
Error: stat failed on "SeaDrive": EACCES: Permission denied
Given that the directory's contents are already stored on a cloud server, it doesn't need to be included in the backup. I have tried many different methods to exclude that directory, using both the --exclude directive AND a .pxarexclude file. The problem seems to be that, even though the directory is to be excluded, PBC is still trying to stat the directory.
When I run the backup client as the owner, the backup completes, and the excluded directory doesn't even show up in the archive (as expected). No, I don't want to have to create separate backup jobs for every user on the system. I strongly suspect the problem is with the mount directory as created by the seadrive program, but I can't expect end users to know that.
So the questions I have: Why can't root stat the directory (that answer probably lies with the Seafile team)? Why does PBC need to stat the directory during a backup? How do I get PBC to do the backup without having to stat that directory?
The directory in question as seen by the owner:
0 drwxr-xr-x 2 troy troy 4.0K Jan 2 17:16 SeaDrive
However, to the root user, it looks like this:
? d????????? ? ? ? ? ? SeaDrive
If root tries to stat that directory, it throws a permission error:
stat: cannot stat '/home/troy/SeaDrive': Permission denied
However, the owner can stat that directory just fine:
troy@neon-desktop:~$ stat SeaDrive
File: SeaDrive
Size: 4096 Blocks: 0 IO Block: 4096 directory
Device: 35h/53d Inode: 1 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ troy) Gid: ( 1000/ troy)
Access: 1969-12-31 18:00:00.000000000 -0600
Modify: 2022-01-02 17:16:42.000000000 -0600
Change: 1969-12-31 18:00:00.000000000 -0600
Birth: -
During a backup, I keep getting this error and as a result, the backup fails.
root@neon-desktop:~# proxmox-backup-client backup homedir.pxar:/home/troy --exclude /home/troy/SeaDrive/ --backup-id neon-homedirs
Starting backup: host/neon-homedirs/2022-01-25T19:17:44Z
Client name: neon-desktop
Starting backup protocol: Tue Jan 25 13:17:44 2022
No previous manifest available.
Upload directory '/home/troy' to 'pbs.mydomain.org PBS' as homedir.pxar.didx
catalog upload error - channel closed
Error: stat failed on "SeaDrive": EACCES: Permission denied
Given that the directory's contents are already stored on a cloud server, it doesn't need to be included in the backup. I have tried many different methods to exclude that directory, using both the --exclude directive AND a .pxarexclude file. The problem seems to be that, even though the directory is to be excluded, PBC is still trying to stat the directory.
When I run the backup client as the owner, the backup completes, and the excluded directory doesn't even show up in the archive (as expected). No, I don't want to have to create separate backup jobs for every user on the system. I strongly suspect the problem is with the mount directory as created by the seadrive program, but I can't expect end users to know that.
So the questions I have: Why can't root stat the directory (that answer probably lies with the Seafile team)? Why does PBC need to stat the directory during a backup? How do I get PBC to do the backup without having to stat that directory?
Last edited: