1
我用tar tar ball和SFTP备份,但它们正在增长到很大,我不必要地传输数据我已经拥有一份所以决定更新我的备份通过File::Rsync及其delta算法使用rsync的代码。我可以根据需要成功传输数据,但似乎无法找到记录传输数据量的方法。以前我可以统计生成的tar,但是因为我不太可能移动源目录中的所有文件,所以我怎么知道移动的数量?如何获得用Perl传输的数据量File :: Rsync
目标父目录可能不存在,因此它通过Net :: SSH :: Perl创建(mkdir -p/path/to/create),指出我可以在rsync之前或之后对目标运行cmds。
我将包括我的代码,我怀疑它实际上是有用的,但如果我不会有人会只是要求它。建议任何人?
use File::Rsync;
$obj = File::Rsync->new({ verbose => 1,
archive => 1,
compress => 1,
recursive => 1,
rsh => '/usr/bin/ssh -i /user/.ssh/id_rsa',
delete => 1,
'rsync-path' => '/usr/bin/rsync'
});
$obj->exec({ src => "$backupwhat",
dest => "host.co.uk:/remote_backup/$backupto"
}) or warn "rsync failed\n";
我应该更好地阅读文档。我认为这是一个Rsync的perl实现不是一个包装。由于我可能使用File :: Rsync分叉rsync进程,我同意这个模块有点没有意义,而且它阻止了我之后的统计信息的访问。非常感谢你的协助。 – dannix
测试过你的代码,是替代我之前发布的并完美工作的代码。再次感谢。 – dannix
很高兴你的工作! – mvp