Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I'm trying to sync my servers between each other with following command, I cannot find any changes on my backup server. I wait for two or three hours, then I check the server ... nothing, only a folder tree.

rsync -avzx source rsync://backup server

Is there a specific option to do an immediate file transfer without waiting time?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

The first thing it has to do is walk both file systems and compare every file, only then can it do the actual backup. This means that the first run, particularly where there are a lot of different files, can take a long time and require a lot of memory. It is also limited by the performance of both the file systems in both systems and the network.

Version 3 of rsync has improved this somewhat, but there is a limit to what it can do when you're trying to rsync the entire file system. By splitting it into smaller chunks it may appear to run faster.

Finally, you're running it with -v, which should provide some diagnostic output - what output is there? Have you tried -vv to make it even more verbose?

share|improve this answer
    
Thanks a lot! Finally got solution with -T option (temporal files were the problem) –  Nikita May 18 '11 at 10:40

Try just,

rsync -a

If your source and destination is connected on a fast-link (not over the Internet, say) it is usually not worth compressing (so, skip the '-z').

You don't need the verbose mode '-v', it just slows down a large transfer (trying to show you what's going through). Moreover, you get the transfer size at the end of your rsync operation.

And, you might want to try skipping the '-x' option unless you know what you are doing.

The only waiting time involved with normal rsync is the time to make the connection and compare the source and target file trees. If the source and target trees are already large it may take some time to locate the files that need to be sync'ed. Be patient. With the '-v' skipped, you'll see a couple lines of output at the end showing how much data was transferred (from source to target).

ps: One more thing -- because you wrote the phrase "between each other".
Your command will only sync files from your source path to your target path.
Rsync does not sync backwards from target to source. Hope you are aware of that.

share|improve this answer
    
Thanks a lot! I've found solution with option -T (I left rsync temporal files on SOURCE server, before, they were placed on DESTINATION server). –  Nikita May 18 '11 at 10:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.