Я пытаюсь передать огромный растущий файл журнала таким образом, чтобы он сохранил сетевые разделы между клиентом и сервером. Если сетевое соединение потеряно, я не могу позволить себе повторно передать весь файл из-за ограничений общего использования сети. Я буду синхронизировать только текущую сжатую версию следующим образом
tail -f logfile | xz -3 -c > syncThis.xz
Я нашел несколько вариантов осуществления перевода на постоянной основе.
Лучше всего я понимаю rsync --append
. Если соединение прерывается, rsync завершится ошибкой, тогда я могу повторно запустить команду, чтобы продолжить перевод.
Другой вариант - sshfs или nfs, с autofs или без него. С одним из них приведенная выше команда изменится на
tail -f logfile | xz -3 -c > /mountLoc/syncThis.xz
и не было бы необходимости rsync
.
Вопрос в этом: В сетевой файловой системе, если я продолжу добавление к синхронизированному файлу, и сеть отключится, а затем возобновит работу, будут автоматически перенесены только и все оставшиеся добавления файла, аналогично тому, что rsync --append
сделал бы?
Если это не значение по умолчанию, есть ли параметр, позволяющий это сделать?
Я полагаю, что такая файловая система должна будет отслеживать тот факт, что за это время в файле произошли только добавления.