sync_mv
Overview
Generates a script containing mkdir and mv commands that moves the files in the dst folder to
match the file structure of the src folder.
This utility is helpful for avoiding file copy (often from a remote computer) when using rsync and
the files in the src folder have been moved:
-
It detects a file that have been moved in
srcthat already existing indst, and generate amvcommand to move the file. -
It detects duplication with file size and modified date. So it's assuming
rsyncis copying the file attributes over. E.g., usingrsync -a. -
By default files smaller than 1MB is ignored, since copying them with
rsyncdoes not add much time. The threshold can be controlled by the--min-file-sizeflag. -
All symlinks are ignored.
Command:
# or: ssh user@host_ip '/home/user/sync_mv --action digest --folder source_folder --min-file-size 1000000' > src.json
The above command generates a diff.txt containing the command to run. You can inspect the file and
run it and then optionally sync the folders with rsync. E.g.,
Installation
- install cargo
- run
cargo install sync_mv
License
MIT