2013-09-08 3 views
2

Я пытаюсь обеспечить передачу файлов rsync между двумя машинами через cygwin на окнах.cygwin rsync все места регистрации

Где находится все файлы журналов, которые создает rsync? Я в настоящее время использую

rsync -e ssh -avzP --delete "/cygdrive/C/secure/data/" "/cygdrive/D/data" --log-file=/cygdrive/C/secure/log/c.log 

Когда Rsync начинает он говорит: «построение списка файлов» это делается в памяти, или это писать временный файл где-нибудь?

ответ

0

Вы спрашивали, происходит ли «файл файлов зданий ...» в памяти или где-то хранится. Давайте посмотрим на rsync's sources, а именно, flist.c:

2089   rprintf(FLOG, "building file list\n"); 
2090   if (show_filelist_p()) 
2091     start_filelist_progress("building file list"); 
2092   else if (inc_recurse && INFO_GTE(FLIST, 1) && !am_server) 
2093     rprintf(FCLIENT, "sending incremental file list\n"); 
2094 
2095   start_write = stats.total_written; 
2096   gettimeofday(&start_tv, NULL); 
2097 
2098   if (relative_paths && protocol_version >= 30) 
2099     implied_dirs = 1; /* We send flagged implied dirs */ 
2100 
2101 #ifdef SUPPORT_HARD_LINKS 
2102   if (preserve_hard_links && protocol_version >= 30 && !cur_flist) 
2103     init_hard_links(); 
2104 #endif 
2105 
2106   flist = cur_flist = flist_new(0, "send_file_list"); 
2107   if (inc_recurse) { 
2108     dir_flist = flist_new(FLIST_TEMP, "send_file_list"); 
2109     flags |= FLAG_DIVERT_DIRS; 
2110   } else 
2111     dir_flist = cur_flist; 

flist_new просто выделяет новый список файлов бассейн, ничего не делая. Параметр string содержит информацию об ошибках вне памяти.

Затем существует несколько сотен строк, целью которых является отправка списка файлов. Нет никаких вызовов rprintf, кроме возможных сообщений об ошибках. Наиболее интересными вызовами функции в этом цикле являются вызовы send_file_name, но они также не звонят rprintf.

Так Да, он строит файлы в памяти, и вы не можете зарегистрировать его, не исправляя источники самостоятельно. Кроме того, не все в rsync записывается в файл журнала, некоторые сообщения печатаются непосредственно на вашем экране. На самом деле вам может быть лучше использовать простое перенаправление оболочки, в зависимости от ваших параметров выполнения. (Или используйте tee для одновременного вывода вывода на печать в файл и вашу станду.)