Ситуация следующая:
Обычно я бы просто выполнял rsync, напрямую между A и B, но из-за сильно ограниченной пропускной способности на данный момент мне нужно что-то другое, так как время ожидания rsync истекает после создания списка из 430 файлов (49 МБ несжатых ... может быть сжат до ~ 7Мб).
Что я пробовал до сих пор: rsync все от A до C, tar его, копирует tarball, а затем распаковывает его, однако это нарушает права собственности и / или разрешения.
Чтобы выполнить синхронизацию от A до C, я запускаю эту команду:
rsync --numeric-ids --password-file=/root/rsync_pwd_file -oaPvu rsync://exsync@example.com/portal_2/ ./portal_2/
... и, судя по всему, они действительно попадают на C с правильными правами собственности / разрешениями / флагами / всем (хотя не уверен на 100% ... есть ли еще переключатели, которые я могу добавить туда? Я что-то пропустил ?)
копирование тарбола достаточно просто (медленное, как одноногая черепаха, из-за пропускной способности, но контрольные суммы проверяются нормально)
В чем я не уверен, так это во флагах и переключателях для создания и извлечения архива, поэтому не мог бы кто-нибудь предоставить полные команды для создания архива из / root / portal_2 на машине C (со всем неповрежденным) и извлечения архива в / var / ex / portal_2 на машине B? ?
Кроме того, стоит ли упомянуть какие-либо другие подходы, которые позволили бы мне это сделать? У меня есть root-доступ к A и C, тогда как у меня есть доступ rsync только к B.
PS: Я запускаю rsync v2.6.9 на машине B, и, к сожалению, у меня нет возможности перейти на v3
Я не совсем уверен, правильно ли я прочитал ваш вопрос. Может ли А поговорить с Б напрямую? Если да, просто используйте rsync -e 'ssh -oServerAliveInterval=30'
чтобы избежать тайм-аута rsync / ssh.
Если A не может напрямую поговорить с B, я бы попробовал следующее:
ssh -R2222:B:22 A
)rsync -e 'ssh -oServerAliveInterval=30'
чтобы избежать тайм-аута rsync / ssh.Таким образом, вы обойдете проблему пользователей и обойдете время ожидания.
Итак, чтобы ответить на вопрос tar:
cd /root; tar -jcv --numeric-owner -f portal_2.tar.bz2 portal_2
И
cd /var/ex; tar xf portal_2.tar.bz2