++ed by:

1 non-PAUSE user.

Author image Thor Dreier-Hansen
and 1 contributors


IO::BlockSync::App - Perl module


Version 0.002


BlockSync can some of the same stuff that bigsync (by Egor Egorov) can - it's just written in perl.

BlockSync copies data from source file to destination file (can be a block device) and calculates checksum on each block it copies. On all runs after the first only the changed blocks will be copied.

    blocksync -S -s /source/path -d /destination/path


Look in README.pod

Can also be found on GitHub or meta::cpan


-V --version

Print version and exit

-v --verbose

Print version and exit

-s --src

Path to source file.

mandatory - string (containing path)

-d --dst

Destination file. If not set, then only checksum file will be updated.

optional - string (containing path)

-c --chk

Path to checksum file.

mandatory - string (containing path)

-b --bs

Block size to use in bytes.

optional - integer - defaults to 1_048_576 B (1 MB)

-S --sparse

Seek in dst file, instead of writing blocks only containing \0

optional - boolean - defaults to 0 (false)

-t --truncate

Truncate the destination file to same size as source file. Does not work on block devices. Will only be tried if data has default value (whole file is copied).

optional - boolean - defaults to 0 (false)



bin/blocksync calls IO::BlockSync::App::run to start the program.

If you just run blocksync command then ignore this method.


This software is copyright (c) 2019 by Thor Dreier-Hansen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Terms of the Perl programming language system itself:

See http://dev.perl.org/licenses/ for more information.