rsync. Синхронизация по дате изменения файла. Как?
Brunen 30 мая, 2011 - 05:53
-r: копирование рекурсивно, включая субдиректории/файлы
-l: сохраняются символические ссылки, как они есть, вместо попытки "зарекурсировать" их.
-p: сохраняются права(chmod), действующие на файлы
-o: сохраняются данные о владельце файлов
-g: сохраняются данные о группе, принадлежащей файлу
-v: вывод информации о происходящей синхронизации на экран
--delete-excluded: удалять файлы на s2, отсутствующие/удалённые с s1(внутри пути(path) синхронизации)
--exclude='- music/': исключить из синхронизации данных директории, имеющие имя "music". Слеш "/" после имени директории указывает, что фильтруются именно директории, а не файлы.
Всем привет!
Необходимо синхронизировать директории(с данными) между двумя идентичными по функциям серверами(s1 & s2), на основании атрибута "дата изменения". ФС на обоих серверах - XFS.
Чего делаю:
rsync -rlpvgo --delete-excluded --exclude='- *.vob' --exclude='- music/' --exclude='- *.iso' --exclude='- *.avi' /org/ root@s2:/org
Т.е. производится синхронизация файлов с s1 в сторону s2, путём:
-r: копирование рекурсивно, включая субдиректории/файлы
-l: сохраняются символические ссылки, как они есть, вместо попытки "зарекурсировать" их.
-p: сохраняются права(chmod), действующие на файлы
-o: сохраняются данные о владельце файлов
-g: сохраняются данные о группе, принадлежащей файлу
-v: вывод информации о происходящей синхронизации на экран
--delete-excluded: удалять файлы на s2, отсутствующие/удалённые с s1(внутри пути(path) синхронизации)
--exclude='- music/': исключить из синхронизации данных директории, имеющие имя "music". Слеш "/" после имени директории указывает, что фильтруются именно директории, а не файлы.
Теперь самое интересное:
Синхронизация при таких ключах происходит каждый раз заново. Использовал ключ "-t", отвечающий за синхронизацию изменённых файлов, но всё равно тянёт за собой уже синхронизированное.
Использовать ключ "-c" слишком накладно, ибо долго(информации около 97Gb). Каким образом делать синхронизацию по дате изменения?
Ещё в догонку. Как включить в исключения расширения с разным регистром? К примеру:
--exclude='- *.vob'
засинхронизирует файлы только с расширением .vob, но не .VOB.
»
- Для комментирования войдите или зарегистрируйтесь
Никто не сталкивался, ага? :)
Никто не сталкивался, ага? :)
сложно сказать как проверяли
сложно сказать
как проверяли что тянет все заново? может thumbnails просто тащит,
может exclude что-то закрывает, может на отдающей стороне файлы меняются, может modify-window стоит попробовать.
Проверял просто:есть у меня
Проверял просто:
есть у меня maildir'ы на сервере(s1) - /var/mail/
Чего делаю :)
1. В mc выбираю эту директорию, жму SHIFT+F5, название директории - "mail.last", жму "Enter", жду окончания процесса.
2. Затем делаю синхронизацию на второй сервер(s2) через ssh rsync'ом:
На s1:
На s2:
Ладно, проверим, в чём разница:
На s1:
На s2:
Почему индексные файлы довекота не идентичны?
Пробовал и с рекомендуемыми параметрами:
Не помогло
Проверял просто: есть у меня
Нет, конечно если надо рсинк, то я не смогу :).
Если бекап. то именно маилдиры из-под довекота зеркалятся, имхо, проще средствами довекота,фетчмайла, ...
П.С тем более довекот научился вырезать вложения указанного размера и ложить их на фтп
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Да тут вопрос с идентичностью
Да тут вопрос с идентичностью данных почты на втором сервере.
Про бэкап силами dovecot'a - не в курсе.
Через rsync сделал копию - подцепил с клиента эту копию. Работает, кушать не просит.
Тут вопрос о работающей правильно синхронизации данных с сервера s1 на s2.
Т.е. если с возникла проблема с индексными файлами dovecot'a, то возникнуть проблема может и с другими пользовательскими данными(у меня не только maildir'ы рсинкаются).
возможно устрои опция -u,
возможно устрои опция
-u, --update skip files that are newer on the receiver
This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file.
(If an existing destination file has a modification time equal to the source file’s, it will be updated if the sizes are differ‐
ent.)
Note that this does not affect the copying of symlinks or other special files. Also, a difference of file format between the
sender and receiver is always considered to be important enough for an update, no matter what date is on the objects. In other
words, if the source has a directory where the destination has a file, the transfer would occur regardless of the timestamps.
This option is a transfer rule, not an exclude, so it doesn’t affect the data that goes into the file-lists, and thus it doesn’t
affect deletions. It just limits the files that the receiver requests to be transferred.
собственно кусок man
--exclude='-
--exclude='- *.((v|V)(o|O)(b|B))'
такикаряво =)
_______________________________________
грех обманывать компиляторы в субботу
Попробуй функцию --backup -
Попробуй функцию --backup - получишь инкрементальное копирование ))) все очень просто
Судя по всему man
Судя по всему man rsync.
Плюшки rsync можно получить ТОЛЬКО при копировании через демон rsync. При копировании через шелл плюшек НЕТ.
Как гласит ман при заливке файлов приемник должен выглядеть так:
а) user@host::dest (два двоеточия)
б) rsync:/user@host[:port]/dest
Согласно того же мана в вашем случае копирование идет через шелл, ибо root@s2:/org . Плюшек нет.
Первое копирование идет несколько медленней, потому что демон должен построить таблицы хэшей. Последующие должны идти без проблем. Обрезка по дате имхо излишество.
А время точно
А время точно синхронизировано?
Разницу не покажете?