robocopy source\ destination\ /mir /xj /r:1 /w:1 /log:path\to\logfile /fp /np

/mir: mirror

/xj: exclude junction points - robocopy does not actually support junction
points (it can read them, but not create them accurately), which leads to
infinite directory loops on C:\Users on modern Windows.

/r:1: retry failed reads only once (default is a lot)

/w:1: wait 1 second before retrying failed read (default is 30 seconds)

/log:... : log output to file

/fp: log full paths to files (i.e. one line per file, rather than

/np: do not log progress (which generates unhelpful strings like "1%2%3%..."
in the log file)

Note: for "restartable mode", use /z -- but I have not tested whether this
actually works reliably.

Note: Exclusions: robocopy does not support anything like --exclude-from=filelist,
so you need to list them all in a space-separated list. hints:
/xd dir1 dir2
/xf file1 file2