fcorbelli / zpaqfranz

Deduplicating archiver with encryption and paranoid-level tests. Swiss army knife for the serious backup and disaster recovery manager. Ransomware neutralizer. Win/Linux/Unix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Robocopy command not preserving the timestamps of the copied folders

Erol-2022 opened this issue · comments

Hello,

Testing the robocopy option of the release v58.7, I noticed that zpaqfranz does not preserve the timestamps of the folders. The last modification time of the folders hosted by the destination are set to the operation time of zpaqfranz.

Operating system : Windows 10, 2022 H2, 64-bit

zpaqfranz.exe r "C:\Source" D:\Destination -kill

It's a feature! :)
In fact, it synchronizes files, not folders
Fixing in progress...

Can you please try the attached pre-release?
58_8i.zip

There are two modes
default => always set timestamp and attributes
-pakka => check before set

I am not really sure, -pakka could be faster on slow system (ex. SMB shares)
Now will print something like that

FOLDER-TOUCH WITH -pakka (check-before-touch)
getfolderinf         47
getfolder2           47
setfolder            78
TOUCHED           3.145
TOTAL_TOUCH         172 ***

total_touch is total time
Thank you

PS Here an example of -pakka vs no -pakka of a real-world FreeBSD server robocoping to a Solaris-based NFS NAS.
With "-pakka"...

  • get the data
  • if data differ, then touch

Without

  • touch every folder

On fast media (ex. local SSD) this is faster than -pakka.
Please report you statistics

root@aserver:/tmp/zp # zpaqfranz r /tank/d /monta/nexes_aserver/robocopy/  -kill -pakka
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 21:23:01 Scan dir <</tank/d/>>
04/08/2023 21:23:03 Scan dir <</monta/nexes_aserver/robocopy/>>
|00| 155.00 GB      225.000
Master  83.283.195.774 (77.56 GB files 104.206) <</tank/d/>>
[10 %]     10.421 / 104.206 (    8.59 GB / 77.56 GB [11 %]) ETA 00:00:21
[20 %]     20.842 / 104.206 (   14.71 GB / 77.56 GB [18 %]) ETA 00:00:23
[30 %]     31.263 / 104.206 (   21.71 GB / 77.56 GB [27 %]) ETA 00:00:28
[40 %]     41.683 / 104.206 (   25.67 GB / 77.56 GB [33 %]) ETA 00:00:20
[50 %]     52.104 / 104.206 (   39.47 GB / 77.56 GB [50 %]) ETA 00:00:16
[60 %]     62.525 / 104.206 (   40.86 GB / 77.56 GB [52 %]) ETA 00:00:11
[70 %]     72.945 / 104.206 (   46.69 GB / 77.56 GB [60 %]) ETA 00:00:08
[80 %]     83.366 / 104.206 (   51.50 GB / 77.56 GB [66 %]) ETA 00:00:05
[90 %]     93.787 / 104.206 (   53.68 GB / 77.56 GB [69 %]) ETA 00:00:02

Touching         6.961 / 8.371 @    2.320 touch/s
=        104.206       83.283.195.774 B

Robocopy time      30.11  - Slaves getinfo      0.00 s
Written bytes 83.182.529.762 (77.47 GB) @ 2.762.346.154 B/sec

74.407 seconds (000:01:14) (all OK)


root@aserver:/tmp/zp # zpaqfranz r /tank/d /monta/nexes_aserver/robocopy/ -kill
zpaqfranz v58.8i-JIT-L,HW SHA1/2,(2023-08-04)
franz:-kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 21:24:32 Scan dir <</tank/d/>>
04/08/2023 21:24:34 Scan dir <</monta/nexes_aserver/robocopy/>>
|00| 155.00 GB      225.000
Master  83.283.195.774 (77.56 GB files 104.206) <</tank/d/>>
--------------------------------------------------------------------------------------
[10 %]     10.421 / 104.206 (    8.59 GB / 77.56 GB [11 %]) ETA 00:00:24
[20 %]     20.842 / 104.206 (   14.71 GB / 77.56 GB [18 %]) ETA 00:00:27
[30 %]     31.263 / 104.206 (   21.71 GB / 77.56 GB [27 %]) ETA 00:00:30
[40 %]     41.683 / 104.206 (   25.67 GB / 77.56 GB [33 %]) ETA 00:00:21
[50 %]     52.104 / 104.206 (   39.47 GB / 77.56 GB [50 %]) ETA 00:00:17
[60 %]     62.525 / 104.206 (   40.86 GB / 77.56 GB [52 %]) ETA 00:00:12
[70 %]     72.945 / 104.206 (   46.69 GB / 77.56 GB [60 %]) ETA 00:00:09
[80 %]     83.366 / 104.206 (   51.50 GB / 77.56 GB [66 %]) ETA 00:00:06
[90 %]     93.787 / 104.206 (   53.68 GB / 77.56 GB [69 %]) ETA 00:00:03

Touching         8.335 / 8.371 @      438 touch/s
=        104.206       83.283.195.774 B

Robocopy time      47.76  - Slaves getinfo      0.00 s
Written bytes 83.182.529.762 (77.47 GB) @ 1.741.641.292 B/sec

93.256 seconds (000:01:33) (all OK)

Hello,

Thanks for the attachment. I tested this version but zpaqfranz does not copy any file or folder :

zpaqfranz.exe r "C:\source" "D:\Destination" -kill
zpaqfranz v58.8i-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-04)
franz:-kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 23:24:20 Scan dir <<C:/Source/>>
|00| 124.23 MB        1.000

zpaqfranz.exe r "C:\source" "D:\Destination" -kill -pakka
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 23:25:03 Scan dir <<C:/Source/>>
|00| 124.23 MB        1.000

The folder D:\Destination remains empty.

Weird, please try -ssd -space -kill
Do not use "
(No tested on Windows, but on FreeBSD. Today I'l check on windows too)

Hello,

No any difference. The folder D:\Destination remains intact and empty :

zpaqfranz.exe r C:\Source D:\Destination -ssd -space -kill
zpaqfranz v58.8i-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-04)
franz:-kill -space -ssd
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
Creating 2 scan threads

Really, really weird

C:\zpaqfranz>zpaqfranz r c:\Source z:\Destination -kill
zpaqfranz v58.8i-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-04)
franz:-hw -kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 22:49:37 Scan dir <<c:/Source/>>
04/08/2023 22:49:37 Scan dir <<z:/Destination/>>

Master  1.410.404.218 (1.31 GB files 2.251) <<c:/Source/>>
--------------------------------------------------------------------------------------
005% 00:00:00 (  68.22 MB) of (   1.31 GB)           71.534.032/sEc
010% 00:00:00 ( 134.79 MB) of (   1.31 GB)          141.341.247/sEc
015% 00:00:00 ( 202.33 MB) of (   1.31 GB)          212.155.578/sEc
020% 00:00:00 ( 269.64 MB) of (   1.31 GB)          282.741.753/sEc
025% 00:00:00 ( 336.96 MB) of (   1.31 GB)          353.329.504/sEc
030% 00:00:00 ( 404.01 MB) of (   1.31 GB)          423.635.150/sEc
035% 00:00:00 ( 470.86 MB) of (   1.31 GB)          493.730.145/sEc
060% 00:00:00 ( 814.62 MB) of (   1.31 GB)          854.196.686/sEc
065% 00:00:00 ( 874.80 MB) of (   1.31 GB)          917.290.744/sEc
070% 00:00:00 ( 942.08 MB) of (   1.31 GB)          987.840.586/sEc
075% 00:00:00 (1009.58 MB) of (   1.31 GB)        1.058.627.227/sEc
080% 00:00:00 (   1.05 GB) of (   1.31 GB)        1.128.403.273/sEc
085% 00:00:00 (   1.12 GB) of (   1.31 GB)        1.199.274.684/sEc
090% 00:00:00 (   1.18 GB) of (   1.31 GB)        1.269.707.549/sEc
095% 00:00:00 (   1.25 GB) of (   1.31 GB)        1.339.956.057/sEc


+          2.251        1.410.404.218 B in      0.97s   1.455.525.508/sec
xls            1               17.408 B

Robocopy time       1.05  - Slaves getinfo      0.03 s
Written bytes 1.410.404.218 (1.31 GB) @ 1.345.805.551 B/sec

1.079 seconds (000:00:01) (all OK)

Can you please do something like

zpaqfranz r c:\Source z:\Destination -kill -debug -out thelog.txt -silent

then attach the "thelog.txt" ?

(2) does the d:\ drive exists?
If not you should get something like that

C:\zpaqfranz>zpaqfranz r c:\Source d:\Destination -kill
zpaqfranz v58.8i-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-04)
franz:-hw -kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
04/08/2023 22:54:04 Scan dir <<c:/Source/>>
04/08/2023 22:54:04 Scan dir <<d:/Destination/>>
27437: space needed 1.31 GB but only 0.00 B reported free on <<d:/Destination/>>
27441: exit, not enough space/destination does not exists; use -space if you want

0.047 seconds (00:00:00) (with warnings)

Please put all the output

Hello,

Strangely, it worked now. Attached is the log file. The folder D:\Destination is existing.

thelog.txt

OK, test and let me know

Hello,

I managed to reproduce the problem.

This first command does not have any effect and no files are copied to the empty D:\Destination folder :

D:\Tools2023\sys\zpaqfranz>zpaqfranz r C:\Source D:\Destination -kill
zpaqfranz v58.8k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-05)
franz:-kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
07/08/2023 21:38:34 Scan dir <<C:/Source/>>
|00| 124.23 MB        1.000

This one is copying successfully all the directory sturcture :

D:\Tools2023\sys\zpaqfranz>zpaqfranz r C:\Source D:\Destination -kill -debug -ou
t thelog.txt -silent
48149: array franz flag size 65
48150: -715                   0  <<Runs just about like zpaq 7.15>>
48150: -append                0  <<Append-only (antiransomware, slow)>>
48150: -backupxxh3            0  <<Use XXH3 in backup instead of MD5>>
48150: -big                   0  <<Big>>
48150: -checksum              0  <<Do checksums>>
48150: -checktxt              0  <<Checktxt (MD5)>>
48150: -comment               0  <<Comment version>>
48150: -debug                 1  <<Activate debug mode>>
48150: -debug -zero           0  <<Add files but zero-filled (debugging)>>
48150: -debug -zero -kill     0  <<Add 0-byte long file (debugging)>>
48150: -desc                  0  <<Orderby desc>>
48150: -fasttxt               0  <<Create test .txt with CRC-32 and QUICK>>
48150: -filelist              0  <<Create a filelist .txt>>
48150: -findzpaq              0  <<Search .zpaq in every drive letter (USB devic
e)>>
48150: -fix255                0  <<Fix 255>>
48150: -fixcase               0  <<Fix CAse>>
48150: -fixeml                0  <<Fix eml filenames>>
48150: -fixreserverd          0  <<fixreserverd>>
48150: -flat                  0  <<Flat filenames>>
48150: -force                 0  <<Force>>
48150: -forcewindows          0  <<Store ADS stuff                (default: NO)>
>
48150: -forcezfs              0  <<Enforce using .zfs>>
48150: -frugal                0  <<Frugal backup>>
48150: -hashdeep              0  <<Hashdeep>>
48150: -hw                    0  <<Use HW SHA1>>
48150: -image                 0  <<Drive image>>
48150: -kill                  1  <<Kill>>
48150: -longpath              0  <<Longpath>>
48150: -mm                    0  <<Memory mapped>>
48150: -noattributes          0  <<Nessun attributo>>
48150: -nodedup               0  <<Turn off deduplicator>>
48150: -noeta                 0  <<Do not show ETA>>
48150: -nopath                0  <<Do not store path>>
48150: -noqnap                0  <<Exclude QNAP snap & trash>>
48150: -norecursion           0  <<Do not recurse into folders (default: YES)>>
48150: -nosort                0  <<Do not sort file>>
48150: -open                  0  <<open>>
48150: -pakka                 0  <<New output>>
48150: -paranoid              0  <<Paranoid>>
48150: -quiet                 0  <<Do not show filesystem errors>>
48150: -ramdisk               0  <<ramdisk>>
48150: -rename                0  <<Rename>>
48150: -sfxall                0  <<Sfx all>>
48150: -sfxforce              0  <<Sfx force>>
48150: -silent                1  <<Silent>>
48150: -space                 0  <<Do not check space/writeability>>
48150: -ssd                   0  <<SSD>>
48150: -stat                  0  <<Statistics>>
48150: -stdin                 0  <<stdin>>
48150: -stdout                0  <<stdout>>
48150: -store                 0  <<Store mode: no deduplication, no compression>
>
48150: -tar                   0  <<TAR mode (store posix)>>
48150: -test                  0  <<Only do test>>
48150: -touch                 0  <<Force 'touch' on date (7.15 to zpaqfranz)>>
48150: -utc                   0  <<Use UTC time>>
48150: -utf                   0  <<UTF-8>>
48150: -verbose               0  <<Verbose output>>
48150: -verify                0  <<Verify>>
48150: -vss                   0  <<Enable Volume Shadow Copies>>
48150: -xls                   0  <<Do NOT force adding of XLS/PPT (default: NO)>
>
48150: -zero                  0  <<Flag zero>>
48150: -zfs                   0  <<Do NOT ignore .zfs             (default: YES)
>>
48150: /od                    0  <<Order by date>>
48150: /on                    0  <<Order by name>>
48150: /os                    0  <<Order by size>>
FULL exename <<D:/Tools2023/sys/zpaqfranz/zpaqfranz.exe>>
1838: new ecx 43705343
1843: new ebx 0
SSSE3 :OK
SSE41 :OK
SHA   :NO

Operating system : Windows 7 64-bit Sp1

Attached is the log file.

Hello,

Finally, a concrete example to demistify the case :

The command below has no any effect :

D:\Tools2023\sys\zpaqfranz>zpaqfranz r C:\Source D:\Destination -kill
zpaqfranz v58.8k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2023-08-05)
franz:-kill
*** ROBOCOPY MODE *** *** ignoring .zfs and :$DATA ***
07/08/2023 21:46:22 Scan dir <<C:/Source/>>
|00| 124.23 MB        1.000

Appending the switch -silent to the end of the command line is "enforcing" the transfer of the files :

D:\Tools2023\sys\zpaqfranz>zpaqfranz r C:\Source D:\Destination -kill -silent

I need to make a windows 7 VM
Work in progress...

Hi Mr. Corbelli,

Maybe, my latest test result above can be helpful for you.

... I am getting closer...
work in progress

And yes, you are right, there IS a problem working with console on Windows 7

Please try the attached pre-release
58_9c.zip
In this version I have included a detector (filthy rather than dirty) for the Windows version. Before 10 it operates with reduced console manipulations. From 10+ as normal. There is a new flag -noconsole.

Hi Mr. Corbelli,

Thanks, this new version is working fine on Windoıws 7. I will continue to test the robocopy option.

Thank you for your contribution, I have included you in the acknowledgments