What's the best way to move files from SD card without the risk of losing any files? So I'm running out of space and I'd like to use link2sd to move my apps to sd card. But before that I need to create a partition on my SD card, and to do that I would have to move my files from it and keep them somewhere else temporarily, format/create a partion on the SD card, and then move the files back. I'm using a lot of apps with a lot of data that would obviously no longer be there if something happens to the files during the move.
I'm also using XinternalSD (though xposed) to automatically store some of the apps data directly on the SD card.
So basically alot of the files on the SD card aren't put there directly by me but rather through apps. I'm not sure what their write protection is and I don't want to risk losing some in the move.
I want to be able to move everything as is and move them back in a way that it would be exactly how it was before the move and nothing changes or apps not being able to detect some of the files or anything like that.
What's the best way to achieve this?
Android 7 | Rooted | Moto C Plus
Note: OS available: Ubuntu | Windows | Android
For regular fuse/FAT file system type, there is no need to preserve file permissions, just copy all files as usual. You can check file system type by typing in mount  in the terminal emulator. You will see somthing like this example:
/mnt/media_rw/149B-8301 type vfat
/storage/149B-8301 type fuse

149B-8301 is the UUID of the SD card and it shows that the file system is vfat.
To copy files regularly, run the following:
adb pull -a /storage/149B-8301 ~

advanced copy (tarball archive)
adb exec-out &quot;tar -c storage/149B-8301 | gzip&quot; &gt; ~/sdcard_backup.tar.gz

copy from PC MicroSD Card Reader
cd /media/xubuntu
tar -czf ~/sdcard_backup.tar.gz 149B-8301

Note: replace ~ with path to target disk drive providing enough free disk space on PC