There is zero Windows anything involved. I don't know why you think there is.so it was just Nextcloud complaining about the backslash after all. this is unfortunate, but syncing PBS task logs to Windows(-compatible) systems is not really something we care about![]()
NextCloud doesn't allow syncing of files with "\" in their name. the reason is that Windows cannot handle them![]()
There hasn`t to be any Windows involved. What fabian meant was that if the Nextcloud developers code it to be compatible with Windows it won't work with "\" no matter if you are using Linux, Mac or whatever, as it otherwise wouldn't sync with people using Windows.That is irrelevant, there is _zero_ Windows involved. My desktop isn't Windows, it's Linux, same for the nextCloud server (Linux). I uploaded via the webGUI, which is my browser. Where do you think Windows comes into play at all here? Because there's zero Windows involved.
# find . |grep 000013C3|while read file;do echo $file;ls -la "$file";done
./UPID:pbs01:003DF94A:25FC9635:000013C3:6950546E:backup:dsx2dpvex2dcluster1x3avm-187:pbsbackup_pve-cluster1@pbs:
ls: cannot access './UPID:pbs01:003DF94A:25FC9635:000013C3:6950546E:backup:dsx2dpvex2dcluster1x3avm-187:pbsbackup_pve-cluster1@pbs:': No such file or directory
$ find . -iname "*001D9C7A*" -print0 | xargs -0 ls -lha
-rw-r--r-- 1 backup backup 325 Sep 5 13:28 './7A/UPID:yuna:00083F6E:001D9C7A:00000000:68BAC93E:benchmark:tank\x3ahost-benchmark:test@pbs:'
-rw-r--r-- 1 backup backup 36K Sep 5 14:00 ./7A/UPID:yuna:00083F6E:001D9C7A:00000001:68BAD0C0:prunejob:tank:root@pam:
$ ls -lha 7A/UPID:yuna:00083F6E:001D9C7A:0000000<tab>
UPID:yuna:00083F6E:001D9C7A:00000000:68BAC93E:benchmark:tank\\x3ahost-benchmark:test@pbs: UPID:yuna:00083F6E:001D9C7A:00000001:68BAD0C0:prunejob:tank:root@pam:
/, so it's encoded as -, which in turn means - needs to be escaped, which uses \x2d, which works just fine. (they do escape a few more things)because it's a Linux based piece of software, and Linux doesn't care about such things (paths are sequences of bytes). shell handling does require extra attention, that's why tools like find and xargs have special modes:
Code:$ find . -iname "*001D9C7A*" -print0 | xargs -0 ls -lha -rw-r--r-- 1 backup backup 325 Sep 5 13:28 './7A/UPID:yuna:00083F6E:001D9C7A:00000000:68BAC93E:benchmark:tank\x3ahost-benchmark:test@pbs:' -rw-r--r-- 1 backup backup 36K Sep 5 14:00 ./7A/UPID:yuna:00083F6E:001D9C7A:00000001:68BAD0C0:prunejob:tank:root@pam:
you will also notice that your shell (hopefully) escapes the back slash when tab completing, so things like
Code:$ ls -lha 7A/UPID:yuna:00083F6E:001D9C7A:0000000<tab> UPID:yuna:00083F6E:001D9C7A:00000000:68BAC93E:benchmark:tank\\x3ahost-benchmark:test@pbs: UPID:yuna:00083F6E:001D9C7A:00000001:68BAD0C0:prunejob:tank:root@pam:
will also work and do the right thing. also note how the "ls" output in the first snippet quotes the path, so that the backslash has no effect when copying.
systemd has the same issue (and a similar solution) -> unit filenames cannot contain/, so it's encoded as-, which in turn means-needs to be escaped, which uses\x2d, which works just fine. (they do escape a few more things)
In my interpretation of the question "why is PBS using these characters" (paraphrase) it's less that Linux "can" do this, and more about "what is the actual benefit of using these characters vs not using them at all when PBS makes/interacts with these files?". To me, I don't see an upside to these characters being "acceptable" for PBS to use at all, and while yes, there are aspects where it _does not_ cause problems, there are aspects where it does. And sure, there may be a reason for PBS to keep using these characters, but so far I don't see one or more reasons.
I'd say it would be worthwhile to either:
a) actually identify the tangible benefits of keeping the characters (as in, something PBS users actually could/do care about)
or
b) have PBS stop using these characters at all for filenames
So...?
Yeah I'm going to straight up disagree here.the benefits of a) are
- better (human) readability (compared to more involved escaping)
- no need for migrating between old and new formats
- compat with PVE/.. that use identical schemes (we share code across products)
the main downsides are
- if you try to store those files on systems that are not meant to store them, it might not be possible
- interactions in the shell might need additional care/quoting/.. for some of the characters (notably, this is not the case for ':', which is the only "exotic" character used in the datastore files)
We use essential cookies to make this site work, and optional cookies to enhance your experience.